1. インターフェイス
PHP プログラミング言語では、インターフェイスは抽象型と抽象メソッドのコレクションです。インターフェイスは通常、interface として宣言されます。クラスは、インターフェイスを実装することによって、インターフェイスのメソッド (抽象メソッド) を実装します。
インターフェース定義:
interface InterAnimal{ public function speak(); public function name($name); }//接口实现 class cat implements InterAnimal{ public function speak(){ echo "speak"; } public function name($name){ echo "My name is ".$name; } }
特記事項:
* すべてのクラスは抽象メソッドです (抽象宣言は必要ありません)
*インターフェイスの抽象メソッドはパブリックです
※メンバー(フィールド)は定数である必要があります
2. 継承
他のクラスを継承したクラスをそのクラスのサブクラスと呼びます。この関係は、親と子の比喩でよく表されます。サブクラスは親クラスの特性を継承します。これらのプロパティは、プロパティとメソッドで構成されます。サブクラスは親クラスの機能を超えた新しい機能を追加できるため、サブクラスは親クラスの「拡張機能」とも呼ばれます。
PHP では、クラスの継承は extends キーワードを通じて実装されます。他のクラスを継承するクラスはサブクラスまたは派生クラスになり、サブクラスの継承元のクラスは親クラスまたは基本クラスになります。
すごい
特別な注意:
場合によっては、オーバーライドされたメソッドを通じて親クラスのメソッドのコンテンツを呼び出すことができる必要があります。この場合、class Computer { private $_name = '联想'; public function __get($_key) { return $this->$_key; } public function run() { echo '父类run方法'; } }class NoteBookComputer extends Computer {}$notebookcomputer = new NoteBookComputer ();$notebookcomputer->run (); //继承父类中的run()方法echo $notebookcomputer->_name; //通过魔法函数__get()获得私有字段ログイン後にコピー
オーバーライドして親クラスのメソッドを呼び出す
を使用する必要があります。 構文: 親クラス名::method()、parent::method() を呼び出すことができます。* 抽象クラスはインスタンス オブジェクトを生成できず、継承のみが可能です。final キーワードにより、クラスが継承されないようにすることができます。単に独立したクラスになりたいだけで、他のクラスによって継承されたり使用されたりしたくない場合があります。
抽象クラスの特徴:
3. 抽象クラスとメソッド
* 抽象メソッドは抽象クラス内に存在する必要があり、抽象クラス内に抽象メソッドが存在することはできません。
* 継承 抽象クラスの場合、サブクラスは親クラスのすべての抽象メソッドをオーバーライドする必要があります。
* 抽象として定義されたメソッドは、その呼び出しメソッド (パラメーター) を宣言するだけで、実装しません。
class Computer { public $_name = '联想'; protected function run() { echo '我是父类'; } }//重写其字段、方法class NoteBookComputer extends Computer { public $_name = 'IBM'; public function run() { echo '我是子类'; } }
abstract class Computer { abstract function run();}final class NotebookComputer extends Computer { public function run() { echo '抽象类的实现'; } }
PHP オブジェクト指向の識別オブジェクト
php オブジェクト指向プログラミングの開発アイデアと事例分析
以上がPHP オブジェクト指向の継承、ポリモーフィズム、カプセル化の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。