抽象クラスとは何ですか?
- 抽象クラスは、直接インスタンス化できない基本クラスとして機能します。これは、クラスの一般化された形式を作成するために使用され、サブクラスが一部のメソッドの特定の実装を提供できるようにします。
- 抽象クラス内の抽象メソッドは宣言されていますが、基本クラスには実装がありません。サブクラスは具体的な実装を提供する必要があります。
抽象クラスをいつ使用するか?
- 特定の機能が必ずサブクラスによって実装されることを保証したい場合は、抽象クラスを使用します。
- 一般的な例は、 area() メソッドのシグネチャを提供する抽象幾何学的形状クラスですが、面積の計算方法の定義は Triangle や Rectangle などのサブクラスに任せます。
TwoDShape の例による実装:
抽象化パッケージの例を参照してください
コードの説明:
TwoDShape 抽象クラス:
- area() を直接実装するのは意味がないため、抽象として定義されています。それぞれの特定の幾何学的形状 (三角形や長方形など) は、面積の計算方法を独自に実装する必要があります。
- area() メソッドは抽象として宣言されているため、サブクラスはこのメソッドのバージョンを実装する必要があります。
Triangle および Rectangle サブクラス:
- 両方のサブクラスは TwoDShape から継承し、area() メソッドを実装する必要があります。
- Triangle は、底辺 * 高さ / 2 の式で面積を計算します。
- 長方形は、幅 * 高さの式で面積を計算します。
AbsShape クラス:
- 抽象クラスを使用したポリモーフィズムを示します。 area() メソッドは多態的に呼び出され、オブジェクト タイプ (Triangle または Rectangle) に応じて正しいバージョンのメソッドが実行されます。
以上が抽象クラスの使用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。