首页 / PHP / PHP类的继承和接口
PHP类的继承和接口
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP类的继承和接口,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2821字,纯文字阅读大概需要5分钟。
内容图文
![PHP类的继承和接口](/upload/InfoBanner/zyjiaocheng/204/89b1f8fd9e444288bfbfd6527fd991b5.jpg)
-PHP的类只支持单继承,就是每个类最多只能有一个父类或者没有父类。
-子类不能继承父类使用private修饰的成员。
public | 当前类、子类和类外 |
protected | 当前类和子类 |
private | 当前类 |
被final修饰的类 | 只能实例化不能被继承 |
被abstract修饰的类 | 只能被继承不能被实例化 |
注意:
被final修饰的方法不能被子类重写。
-通常要被子类继承的成员都使用protected,其余的尽量使用private,把类的内部实现隐藏起来。
-子类可以重写父类的成员,但不可以重写父类private修饰的成员。
-可以使用parent访问父类的成员。
self | 当前类本身 |
parent | 当前类父类 |
$this | 当前对象 |
-构造函数和析构函数的执行顺序
- 一个没有父类的类先执行构造函数再执行析构函数 - 一个有父类的类先执行子类的构造函数再执行父类的构造函数,析构函数的执行顺序跟构造函数的执行顺序相反。<?php// 定义一个Person类class Person { // 构造函数 public function __construct() { echo "Person's __construct.",'PHP的接口
'; } // 析构函数 public function __destruct() { echo "Person's __destruct.",'
'; }}// 定义一个PersonMale类继承Person类class PersonMale extends Person { // 构造函数 public function __construct() { echo "PersonMale's __construct.",'
'; // 调用父类的构造函数 parent::__construct(); } // 析构函数 public function __destruct() { parent::__destruct(); echo "PersonMale's __destruct.",'
'; }}// 定义一个PersonFemale类继承Person类class PersonFemale extends Person{ // 构造函数 public function __construct() { echo "PersonFemale's __construct.",'
'; parent::__construct(); } // 析构函数 public function __destruct() { parent::__destruct(); echo "PersonFemale's __destruct.",'
'; }}$personObject = new Person();$personMaleObject = new PersonMale();$PersonFemaleObject = new PersonFemale();运行结果:Person's __construct. PersonMale's __construct.Person's __construct. PersonFemale's __construct.Person's __construct. Person's __destruct.PersonFemale's __destruct. Person's __destruct.PersonMale's __destruct. Person's __destruct.
-一个类可以实现多个接口
-接口里的方法都是不完整的方法(没有函数体的)
-接口的使用
<?php/** * 接口MyInterFaceA */interface MyInterFaceA { public function functionA(); public function functionB();}/** * 接口MyInterFaceB */interface MyInterFaceB { public function functionC(); public function functionD();}/** * 类实现接口MyInterFaceA和MyInterFaceB * 并且重写接口里所有的公共的抽象方法 */class MyClass implements MyInterFaceA,MyInterFaceB{ public function functionA() { } public function functionB() { } public function functionC() { } public function functionD() { }}
内容总结
以上是互联网集市为您收集整理的PHP类的继承和接口全部内容,希望文章能够帮你解决PHP类的继承和接口所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。