ホームページ  >  記事  >  バックエンド開発  >  PHP におけるオブジェクト指向継承のいくつかの側面の概要

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

黄舟
黄舟オリジナル
2017-07-02 11:24:201003ブラウズ

この記事では、主に 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。