PHP의 객체지향 상속의 여러 측면 요약

黄舟
풀어 주다: 2023-03-12 11:22:01
원래의
1002명이 탐색했습니다.

이 문서에서는 PHP가 객체 지향inheriting인 경우의 몇 가지 사항을 주로 요약합니다.

//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;
		}
	}
로그인 후 복사

위의 두 클래스 학생은 People 클래스를 상속받습니다

구성 방법 부모 클래스는 Private입니다. 즉, Java에서는 이 클래스를 상속할 수 없지만 PHP에서는 이 클래스를 상속할 수 있지만 한 가지 문제는 부모 클래스의 생성자를 하위 클래스 Student

에서 호출할 수 없다는 것입니다.

parent::construct($name,$sex,$birthday);
로그인 후 복사

그렇지 않으면 오류가 보고되고 상위 클래스의 생성자가 비공개인 경우 하위 클래스는 자체 생성자를 갖고 명확하게 작성해야 합니다. 그렇지 않으면 상속이 이루어질 수 없습니다.

동시에 Java와 다른 점은 하위 클래스가 상위 클래스를 상속하고 하위 클래스에 자체 생성자가 있는 경우 상위 클래스의 생성자가 하위 클래스 생성자에서 호출됩니다.



위 내용은 PHP의 객체지향 상속의 여러 측면 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿