이전 기사에서는 "클래스의 생성자와 소멸자를 구별하는 방법"을 가져왔는데, 여기서는 PHP 클래스에서 생성자와 소멸자를 사용하는 방법을 자세히 설명했습니다. 이번 기사에서는 계속해서 살펴보겠습니다. PHP 클래스의 상속 관련 지식이 모든 분들께 도움이 되었으면 좋겠습니다!
PHP의 객체 지향 세계에서는 클래스를 통해 기존 클래스를 상속할 수 있습니다. 상속된 클래스를 상위 클래스 또는 기본 클래스라고 하며, 상위 클래스를 상속하는 클래스를 하위 클래스라고 합니다. 실제로 하위 클래스는 상위 클래스의 확장으로 이해될 수 있으며, 하위 클래스는 상위 클래스의 기능 외에 새로운 기능을 추가할 수 있습니다. 하위 클래스는 상위 클래스의 생성자를 상속할 수도 있습니다. 하위 클래스가 인스턴스화되면 PHP는 하위 클래스의 생성자를 먼저 호출합니다.
<strong><span style="font-size: 20px;">확장</span></strong>
상속 키워드<strong><span style="font-size: 20px;">extends</span></strong>
继承关键字
在PHP中,我们通过extends
关键字来实现类的继承。它的语法格式如下:
class 子类名 extends 父类名{ ... ... }
其中我们需要注意的是,一个类只能从另一个类中继承,但是一个类可以继承多个类。也就是一个子类只能有一个父类,但是一个父类可以有多个子类。
继承 public
成员
在PHP中,父类所有使用public
修饰的成员都是可以被子类继承的。
接下来我们通过示例来看一下,示例如下:
<?php class father{ public $name, $url, $title; public function __construct(){ echo '基类中的构造函数<br>'; } public function demo(){ echo '基类中的成员方法<br>'; } } class son1 extends father{ } class son2 extends father{ public function __construct(){ echo '子类中的构造函数<br>'; } } $object = new son1(); $object -> demo(); $object2 = new son2(); $object2 -> demo(); ?>
输出结果:
在上述示例中,定义一个基类,使用另一类来继承这个基类,同时在尝试使用子类调用基类中的成员方法。结果父类所有使用public修饰的成员都是可以被子类继承的。
继承 protected
成员
上述中我们讲到了继承public
修饰的成员,都可以被子类继承,还有一种protected
成员,被它修饰的成员,就是属于不想被类的外部访问的,可以理解为通过修饰这个成员是一个保护成员,只能在类的内部被访问,同时也可以在子类的内部被访问,我们可以在子类设置一个成员函数来访问这个成员。
示例如下:
<?php class father{ public $name, $url, $title; public function __construct(){ echo '基类中的构造函数<br>'; } protected function demo(){ echo '基类中的成员方法<br>'; } } class son1 extends father{ } class son2 extends father{ public function __construct(){ echo '子类中的构造函数<br>'; } public function test(){ $this -> demo(); } } $object = new son1(); // $object -> demo(); // 在子类中调用父类使用 protected 修饰的成员方法会报错 $object2 = new son2(); $object2 -> test(); ?>
输出结果:
由上述示例我们能够看出,通过protected修饰的变量,也可以在继承后的子类内部被访问。
继承<strong><span style="font-size: 20px;">private</span></strong>
成员
在PHP类中,通过private
PHP에서는 extends
키워드를 통해 클래스 상속을 구현합니다. 구문 형식은 다음과 같습니다.
<?php class father{ private function demo(){ echo '基类中private的成员方法<br>'; } } class son extends father{ public function test(){ $this -> demo(); } } $object = new son(); $object -> test(); ?>
우리가 주목해야 할 것은 클래스는 다른 클래스에서만 상속할 수 있지만 클래스는 여러 클래스를 상속할 수 있다는 것입니다. 즉, 하위 클래스는 하나의 상위 클래스만 가질 수 있지만 상위 클래스는 여러 개의 하위 클래스를 가질 수 있습니다.
공개
멤버 상속PHP에서는 모든 상위 클래스가 멤버를 사용합니다. public에 의해 수정됨
은 하위 클래스에서 상속될 수 있습니다.
보호된
멤버 상속🎜🎜위에서 우리는 공개🎜🎜위의 예에서 protected로 수정된 변수는 상속된 하위 클래스 내에서도 액세스할 수 있음을 알 수 있습니다. 🎜🎜🎜<strong><span style="font-size: 20px;">상속</span></strong><code><strong><span style="font-size: 20px;">비공개</span> span></strong>span>
회원🎜🎜PHP 클래스에서는 private
수정된 멤버는 클래스 외부에서 액세스할 수 없으며 하위 클래스에서도 액세스할 수 없습니다. 이는 클래스의 프라이빗 멤버가 되는 프라이빗 수정이라고 이해할 수 있습니다. 정확하게 말하면 private으로 수정된 멤버는 하위 클래스에서 상속되지 않으며 하위 클래스에서 액세스할 수 없습니다. 🎜🎜🎜예제는 다음과 같습니다. 🎜rrreee🎜출력 결과가 잘못되었습니다. 하위 클래스의 상위 클래스에서 private 키워드로 수정된 멤버를 호출하면 프로그램이 오류를 보고하고 작업을 종료합니다. 🎜🎜관심이 있으시면 "🎜PHP 비디오 튜토리얼🎜"을 클릭하여 PHP 지식에 대해 자세히 알아볼 수 있습니다. 🎜위 내용은 PHP 클래스 상속을 얻는 방법은 무엇입니까? (요약 공유)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!