PHP类继承:

  1. PHP类不支持多继承,也就是子类只能继承一个父类,但是支持多层次继承,比如:

     1 class frist{
     2     public function __construct(){
     3         echo "我是第一个类。","<br>";
     4     }
     5     public function printer(){
     6         echo "frist","<br>";
     7     }
     8 }
     9 class seconds extends frist{}
    10 class third extends seconds{}
    11 $obj = new third();
    12 $obj->printer();

    结果:这是第一个类。 frist 第二个类和第三个类没有重写printer()方法,第三个类实例化后可以调用printer()方法。

  2. 继承权限问题 2.1 父类private方法不可被继承,父类私有化 2.2 父类protected方法可以被继承,但不能被实例化对象调用,如果调用会出现" Call to protected method frist::printer()"的报错,父类对此方法置于保护模式下 2.3 父类public方法可以被继承、可以被实例化对象调用,属于公开方法 2.4 子类可重写父类public或者protected的方法,不能重新private的方法,如果同名只是在本类重新声明

  3. 接口类继承 3.1 接口支持多继承,接口类的方法不需要实现比如:

     1 interface frist{
     2     public function ex1();
     3 }
     4 interface seconds{
     5     public function ex2();
     6 }
     7 interface third extends frist,seconds{
     8     public function ex3();
     9 }
    10 class fourth implements third{
    11     public function ex1(){}
    12     public function ex2(){}
    13     public function ex3(){}
    14 }
    15
    16 class fourth implements frist,seconds{
    17     public function ex1(){}
    18     public function ex2(){}
    19 }

    3.2 接口类的方法权限都是public,默认public 3.3 引用接口的类必须实现接口的所有方法,否则会报错,比如:"Class e contains 1 abstract method and must therefore be declared abstract or implement the remaining methods",即:e类包含1个抽象方法,因此必须声明抽象或实现其余方法。

  4. 抽象类:只要一个类里面有一个方法是抽象方法,那么这个类就要定义为抽象类

    4.1 抽象类继承抽象类不能重写父类方法。

      4.2 抽象类继承是对父类的方法的拓展。

      4.3 继承的派生类当中要把所有抽象方法重载才能实例化。

   4.4 抽象类实现的普通发放,可以在非抽象子类中直接调用。

  5. 接口和抽象类的异同点(引用抽象类与接口区别)

   5.1 对接口的使用方式是通过关键字implements来实现的,而对于抽象类的操作是使用类继承的关键字exotends实现的

      5.2 接口没有数据成员,但是抽象类有数据成员,抽象类可以实现数据的封装。

      5.3 接口没有构造函数,抽象类可以有构造函数。

      5.4 接口中的方法都是public类型,而抽象类中的方法可以使用private、protected或public来修饰。

      5.5 一个类可以同时实现多个接口,但是只能实现一个抽象类。

      5.6 相同点:函数体内不能写任何东西,比如:function getName();即可。

原创帖,转载请注明出处~

转载于:https://www.cnblogs.com/dongw/p/php_extend.html

PHP类继承、接口继承关系概述相关推荐

  1. Java11-day02【多态(成员访问、多态转型、内存图解)、抽象类(成员特点)、接口(成员特点)、类和接口的关系、抽象类和接口的区别、综合案例】

    视频+资料(工程源码.笔记)[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg   提取码:zjxs] Java基础--学习笔记(零起点打开java ...

  2. 接口,类与接口的关系,接口与抽象类的区别

    接口 1 接口的概念 与之前学习过的抽象类一样,接口( Interface )在Java中也是一种抽象类型,接口中的内容是抽象形成的需要实现的功能,接口更像是一种规则和一套标准. 2 接口格式 3 接 ...

  3. [Java基础]类和接口的关系

    类和接口的关系:

  4. TypeScript基础入门 - 接口 - 继承接口

    转载地址 TypeScript基础入门 - 接口 - 继承接口 项目实践仓库 https://github.com/durban89/typescript_demo.git tag: 1.0.13 为 ...

  5. java中与接口类,Java中类与类、类与接口、接口与接口的关系

    类与类 继承关系,只能单继承,但是可以多层继承. 类与接口 实现关系,可以单实现,也可以多实现,并且可以在继承一个类的同时实现多个接口. 接口与接口 继承关系,可以单继承,也可以多继承. 附:代码举例 ...

  6. Java接口继承接口

    直接先上代码 package practice;public interface A {public void getName(); } package practice;public interfa ...

  7. CLR via C#学习笔记-第十三章-定义接口、继承接口

    13.1 类和接口继承 接口是为了实现多继承 所有的类都继承了System.Object,及其四个公共实例方法:ToString.Equals.GetHashCode.GetType. CLR允许定义 ...

  8. Java接口及接口继承

    Java接口 开发工具与关键技术:My Eclipse 10.Java 作者:郑凯丰 撰写时间: 2019年5月2日 修饰符 :public .abstract [修饰符] interface 接口名 ...

  9. Java基础-day06-抽象类和接口

    抽象类 概述: 使用abstract关键字修饰的类就是抽象类 特点: 这种类不能被创建对象,它就是用来做父类的,被子类继承的 格式 修饰符 abstract class 类名{} 抽象类中的成员 成员 ...

  10. day02-抽象类,接口、代码块、final、单例、枚举

    java基础[抽象类,接口.代码块.final.单例.枚举] 第一章 抽象类 1.1 概述 1.1.1 抽象类引入 父类中的方法,被它的子类们重写,子类各自的实现都不尽相同.那么父类的方法声明和方法主 ...

最新文章

  1. Java泛型使用需要小心
  2. java影像出租面向对象,Java中的面向对象 - zhiruochujian的个人空间 - OSCHINA - 中文开源技术交流社区...
  3. cordova切换到安卓5.1.0,Android SDK not found
  4. 数据结构与算法—一文多图搞懂双链表
  5. hibernate 联合主键 merge
  6. 洛谷P2341 [HAOI2006]受欢迎的牛 (Tarjan,SCC缩点)
  7. 【Raspberry Pi - Raspbian】系统换更新源
  8. Ubuntu 安装 Redis (非源码Build方式)
  9. CSP学习之ASN.1编码(一)
  10. 1一10到时的英文单词_哈尔滨一山羊皮,叫雪地皮衣!刮风下雪不冻身,10年免洗不过时...
  11. 移动先行之谁主沉浮? 带着你的Net飞奔吧!
  12. Win10 底部应用图标显示不正常(空白)
  13. OpenGL ES 2.0 系列一
  14. windows下解决Git报错: LF will be replaced by CRLF the next time Git touches it
  15. 运维工程师岗位职责、职业路线和常用工具
  16. 【渝粤题库】陕西师范大学151206 中级财务管理作业 (专升本)
  17. 计算机设置共享文件,电脑设置共享文件夹的方法步骤
  18. 计算机运行断电 硬盘,电脑突然断电的坏处有哪些?你知道吗?
  19. 【牛客 错题集】Linux系统方面错题合集
  20. CMWAP和CMNET 的区别与适用范围

热门文章

  1. 《中国人工智能学会通讯》——4.27 电子数据取证理论与技术
  2. Android Studio 使用入门及问题汇总
  3. NOIp #2010
  4. 制作rhel的yum仓库
  5. 从简单到高并发服务器(一)
  6. Linux—帐号和权限管理
  7. 2013年上半年全国计算机技术与软件专业技术资格(水平)考试工作安排
  8. 小机箱的评估,立人 vs Jobs机箱
  9. 如何对一个软件项目的成本进行评估或估算?
  10. python数据挖掘Hello World