この記事では、抽象クラスとは何か、その使い方の概要を紹介します。
抽象クラスとは何ですか?
抽象クラスはインスタンス化できず、同じメソッドは特定の実装なしでメソッド宣言のみを提供します。抽象クラスは、他のクラスの親クラスとしてのみ使用できます。抽象クラスは、abstract キーワードを使用して宣言され、構文形式は次のとおりです。
abstract class AbstractName{ ..... }
注:
抽象クラスは通常のクラスと似ており、両方ともメンバー変数とメンバー メソッドを持ちます。しかし、違いがあります。抽象メソッドを含むクラスは、それ自体が抽象でなければなりません。抽象メソッドにはメソッド本体がなく、その関数はサブクラス内でのみ完了できます。抽象メソッドは、abstract キーワードを使用して変更することもできます。形式は次のとおりです。
abstract function abstractName();
抽象メソッドの後には、中かっこ "{}" の代わりにセミコロンが続きます。
抽象クラスの役割は何ですか?
クラスの中には繰り返し記述されるクラスが多く、この時、抽象クラスの概念を利用してパブリッククラスを記述し、インスタンス化後に繰り返し呼び出すことができます。抽象クラスは、多くのものが入っている大きな倉庫のようなもので、必要なときにその倉庫内のすべてを使用する必要はありません。倉庫内のアイテムに不満を感じた場合は、自分で新しいアイテムを作成することもできます。
抽象メソッドと抽象クラスは、主に複雑なクラス階層で使用されます。この階層関係は、各サブクラスに特定のメソッドが含まれ、オーバーロードされるようにする必要があります。これは、インターフェイスを通じても実現できます。
抽象クラスの例の説明:
<?php header("content-type:text/html;charset=utf-8"); abstract class Member{ abstract function vipMember($name,$level,$money); } class Member1 extends Member{ function vipMember($name,$level,$money){ echo "您在PHP中文网的会员名是:" . $name; echo '<br/>'; echo "您的会员等级是:" . $level; echo '<br/>'; echo "您发文章赚取的钱是:" . $money; } } class Member2 extends Member{ function vipMember($name,$level,$money){ echo "您在PHP中文网的会员名是:" . $name; echo '<br/>'; echo "您的会员等级是:" . $level; echo '<br/>'; echo "您要提取" . $money . "元"; } } $member1 = new Member1(); $member2 = new Member2(); $member1->vipMember('大白','三级','24.35'); echo '<br/>'; echo '<hr/>'; $member2->vipMember('小明','五级','84.73');
まず、抽象メソッド vipMember を含むメンバー抽象クラスを作成します。抽象クラスに対して 2 つのサブクラス Member1 と Member2 を生成し、2 つのサブクラスにそれぞれ抽象メソッドを実装します。最後に、2 つのオブジェクトをインスタンス化し、実装された抽象メソッドを呼び出し、最後に出力します。
以上がPHP オブジェクト指向の抽象クラスとは何ですか?そして抽象クラスの役割の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。