明確にするためにもう少しポイントがありますが、
データの抽象化と抽象クラスを混同してはなりません。彼らは違う。
一般的に、抽象クラスまたはメソッドは基本的に何かを隠すことであると言います。しかし、いいえ。それは間違っています。抽象という言葉はどういう意味ですか?グーグル検索は英語の単語の抽象化が意味すると言います
「思考またはアイデアとして存在しているが、物理的または具体的な存在を持っていない。」
そして、抽象クラスの場合もそうです。メソッドの内容を隠しているわけではありませんが、メソッドの内容はすでに空です(物理的または具体的な存在はありません)が、メソッドがどのようにあるべきか(思考またはアイデアとして存在する)、またはメソッドがカルスにあるべきかを決定します。
では、実際に抽象メソッドを使用するのはいつですか?
- 基本クラスのメソッドが、それを拡張する子クラスごとに異なる場合。
- したがって、子クラスにこの関数が実装されていることを確認する必要があります。
- これにより、メソッドがのような強制的な署名を持つには、n個のパラメーターが必要になります。
抽象クラスについてです!-抽象クラスは、拡張のみでインスタンス化することはできません。しかし、なぜ ?
- 抽象メソッドを持つクラスは、その中の抽象メソッドに意味のある実装がないため、独自のインスタンスを作成しないようにする必要があります。
- 何らかの理由でそのクラスのインスタンスを持つことの意味が少ないことがわかった場合は、クラスを抽象化することもできます。
抽象クラスは、その新しいインスタンスの作成を回避するのに役立ちます。
クラスの抽象メソッドは、子クラスに、提供された署名を使用してその関数を確実に実装するように強制します。