ホームページ >バックエンド開発 >PHPチュートリアル >PHP オブジェクト指向 - 親クラスを拡張するサブクラスのサンプルコード共有 (親クラスをリロードするサブクラス)
PHPでは、サブクラスが親クラスを継承するが、親クラスの属性やメソッドをある程度拡張する必要がある状況に遭遇します。このとき、サブクラスは再実行できます。ただし、親クラスのメソッドに数百行または数千行のコードが含まれている場合は、属性とメソッドを上書きするだけで済みます。 "parent class name::method" または "parent::method" を使用して、親クラスでオーバーライドされたメソッドを呼び出します。親クラスをリロードするための があり、その後、拡張する必要があるステートメント。
<?php class Person{ public $name; public function construct($name="" ){ $this->name=$name; } public function say(){ echo "我叫".$this->name ; } }?><?php class Student extends Person{ public $name; public function construct($name=""){ $this->name =$name; }//这里定义了一个和父类中同名的方法,将父类中的说话方法覆盖并重写 public function say(){ echo "我叫".$this->name .",今年25岁了" ; } }?>
では、追加のパラメータ $age が追加されます。 <?phpclass Student extends Person{
public $name;
public $age;
public function construct($name="",$age=25){
$this->name =$name; $this->age =$age;
} public function say(){
echo "我叫".$this->name .",今年".$this->age."岁了" ;
}
}?>
上記の例では、「メソッド」をオーバーライドすることで拡張を実現しています。
1つは親クラスの「クラス名::」を使用して親クラスのオーバーライドされたメソッドを呼び出す方法です。 "parent::" を使用することです。親クラスでオーバーライドされたメソッドを呼び出してみます
<?phpclass Student extends Person{ public $name; public $age; public function construct($name="",$age=25){ parent::construct($name,$age); $this->age =$age; } public function say(){ parent::say(); echo ",今年".$this->age."岁了" ; } }?>上記の内容は、単に属性とメソッドを
本当の意味での親クラスオーバーロードではなく、サブクラスが親クラスを拡張することとしか言えません。PHPにもオーバーロードという言葉がありますが、一般的な言語指向の言語とは意味が異なります。
以上がPHP オブジェクト指向 - 親クラスを拡張するサブクラスのサンプルコード共有 (親クラスをリロードするサブクラス)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。