PHP におけるオブジェクト指向継承のいくつかの側面の概要

黄舟
リリース: 2023-03-12 11:22:01
オリジナル
957 人が閲覧しました

この記事では、主に PHP がオブジェクト指向継承する場合のいくつかのポイントをまとめています:

//people.class.php
	class People{
		private $name;
		private $sex;
		private $birthday;
		
		private function construct($name='',$sex='01',$birthday='1999-01-01'){
			echo &#39;people---construct<br>&#39;;
			$this->name = $name;
			$this->sex = $sex;
			$this->birthday = $birthday;
		}
		public function get($key){
			return $this->$key;
		}
		public function set($value,$key){
			$this->$key = $value;
		}
		public function show(){
			return &#39;people---&#39;;
		}
	}
ログイン後にコピー
//student.class.php
	class Student extends People{
		private $s_num;
		private $s_class;
		public function construct($name,$sex,$birthday,$num,$class){
			//parent::construct($name,$sex,$birthday);
			echo &#39;Student--construct<br>&#39;;
			$this->name = $name;
			$this->sex = $sex;
			$this->birthday = $birthday;
			$this->s_num = $num;
			$this->s_class = $class;
		}
		public function showInfo(){
			return &#39;sutdent---&#39;.$this->name.&#39;----bir=&#39;.$this->birthday
			.&#39;num==&#39;.$this->s_num.&#39;----class==&#39;.$this->s_class;
		}
	}
ログイン後にコピー

上記の 2 つのクラス Student は People クラスを継承します

のメソッド親クラスは Private です。つまり、Java ではこのクラスは継承できませんが、PHP ではこのクラスは継承できますが、親クラスのコンストラクターをサブクラス Student

で呼び出すことができないことが 1 つあります。

parent::construct($name,$sex,$birthday);
ログイン後にコピー

それ以外の場合はエラーが報告され、親クラスのコンストラクターがプライベートの場合、サブクラスには独自のコンストラクターが必要であり、明確に記述する必要があります。そうでない場合、継承は達成できません。

同時に、Javaと異なるのは、サブクラスが親クラスを継承し、サブクラスが独自のコンストラクターを持つ場合、親クラスのコンストラクターは、サブクラス コンストラクターで呼び出されます。



以上がPHP におけるオブジェクト指向継承のいくつかの側面の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!