广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php中类继承与接口继承的区别有哪些
  • 267
分享到

php中类继承与接口继承的区别有哪些

2023-06-29 06:06:35 267人浏览 独家记忆
摘要

今天小编给大家分享一下PHP中类继承与接口继承的区别有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在php中,类继承与

今天小编给大家分享一下PHP中类继承与接口继承的区别有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

php中,类继承与接口继承的区别是:PHP类不支持多继承,也就是子类只能继承一个父类,但是支持多层次继承,而接口支持多继承,也就是接口可以继承一个或者多个接口。

本文操作环境:windows10系统、PHP7.1版、Dell G3电脑。

php中类继承与接口继承的区别是什么

PHP类继承:

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

比如:

class frist{  public function __construct(){    echo "我是第一个类。","<br>";  }  public function printer(){    echo "frist","<br>";  }}class seconds extends frist{}class third extends seconds{}$obj = new third();$obj->printer();

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

继承权限问题

(1)父类private方法不可被继承,父类私有化

(2)父类protected方法可以被继承,但不能被实例化对象调用,如果调用会出现" Call to protected method frist::printer()"的报错,父类对此方法置于保护模式下

(3)父类public方法可以被继承、可以被实例化对象调用,属于公开方法

(4)子类可重写父类public或者protected的方法,不能重新private的方法,如果同名只是在本类重新声明

接口类继承

(1) 接口支持多继承,接口类的方法不需要实现比如:

interface frist{  public function ex1();}interface seconds{  public function ex2();}interface third extends frist,seconds{  public function ex3();}class fourth implements third{  public function ex1(){}  public function ex2(){}  public function ex3(){}}class fourth implements frist,seconds{  public function ex1(){}  public function ex2(){}}

(2) 接口类的方法权限都是public,默认public

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

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

(1)抽象类继承抽象类不能重写父类方法。

(2)抽象类继承是对父类的方法的拓展。

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

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

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

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

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

(3) 接口没有构造函数,抽象类可以有构造函数。

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

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

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

以上就是“php中类继承与接口继承的区别有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网PHP编程频道。

--结束END--

本文标题: php中类继承与接口继承的区别有哪些

本文链接: https://www.lsjlt.com/news/323028.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php中类继承与接口继承的区别有哪些
    今天小编给大家分享一下php中类继承与接口继承的区别有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在PHP中,类继承与...
    99+
    2023-06-29
  • php中类继承与接口继承的区别是什么
    本文操作环境:Windows10系统、PHP7.1版、Dell G3电脑。php中类继承与接口继承的区别是什么PHP类继承:PHP类不支持多继承,也就是子类只能继承一个父类,但是支持多层次继承比如:class frist{ public...
    99+
    2015-02-22
    PHP
  • php中继承类和实现接口的区别有哪些
    本篇内容介绍了“php中继承类和实现接口的区别有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!php中继承类和实现接口的区别:1、PHP...
    99+
    2023-06-29
  • java继承与接口的区别
    继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。Java接口是一系列方法的声明,是一些方...
    99+
    2017-06-08
    java基础 java 继承 接口
  • java中的接口与继承的区别
    接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。继承是java面向对象编程技术的一块基石,因为它允许创建分等级层...
    99+
    2019-09-03
    java 接口 继承
  • php中怎么实现类继承和接口继承
    这篇文章将为大家详细讲解有关php中怎么实现类继承和接口继承,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、PHP类不支持多继承,也就是子类只能继承一个父...
    99+
    2022-10-18
  • java继承与聚合的区别有哪些
    Java中的继承和聚合都是实现代码重用的方式,但它们有一些区别。继承:1. 继承是通过创建一个类来继承另一个类的属性和方法。2. 子...
    99+
    2023-09-08
    java
  • php中继承类和实现接口的区别是什么
    本教程操作环境:windows10系统、PHP7.1版、DELL G3电脑php中继承类和实现接口的区别一、继承和实现接口的比较:(1)php继承属于单继承,保证了单一性,但不够灵活。实现接口是对单一继承的补充;(2)实现接口可以在不破坏类...
    99+
    2017-08-21
    PHP
  • Javascript中类式继承和原型式继承有什么区别
    这篇文章主要介绍了Javascript中类式继承和原型式继承有什么区别,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在所有面向对象的编程中,...
    99+
    2022-10-19
  • es5和es6的继承有哪些区别
    这篇“es5和es6的继承有哪些区别”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“es5和...
    99+
    2022-10-19
  • java派生和继承的区别有哪些
    Java中的派生和继承实际上指的是同一种概念,即通过使用extends关键字,一个类可以派生出另一个类,被派生出的类称为子类,派生出...
    99+
    2023-09-08
    java
  • java中继承与实现的区别
    继承:如果多个类的某个部分的功能相同,那么可以抽象出一个类出来,把他们的相同部分都放到父类里,让他们都继承这个类。实现:如果多个类处理的目标是一样的,但是处理的方法方式不同,那么就定义一个接口,也就是一个标准,让他们的实现这个接口,各自实现...
    99+
    2018-01-26
    java 继承 实现 区别
  • Java接口的继承与抽象类介绍
    这篇文章主要讲解了“Java接口的继承与抽象类介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java接口的继承与抽象类介绍”吧!在实施接口中,我们利用interface语法,将inter...
    99+
    2023-06-02
  • java中不能继承的类有哪些?
    在Java中,只要是被定义为final的类,也可以说是被final修饰的类,就是不能被继承的。因为jdk的开发者认为,有一些最基本的类没要必要对开发者开放,如果用户继承时操作有误,很可能引入很多问题。为了防止用户对基本类进行相应的扩展,也体...
    99+
    2016-12-08
    java
  • java中不能继承的类有哪些
    在Java中,有以下几种情况下的类不能被继承:1. final类:final关键字修饰的类不能被继承,例如String、Intege...
    99+
    2023-10-12
    java
  • 一文学透ApplicationContext继承接口功能及与BeanFactory区别
    目录BeanFactory与ApplicationContext关系的分析ApplicationContext继承的接口与功能BeanFactory应用代码示例Application...
    99+
    2023-05-17
    ApplicationContext BeanFactory继承接口 ApplicationContext BeanFactory区别
  • Java中的接口与继承怎么定义
    这篇文章主要讲解了“Java中的接口与继承怎么定义”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java中的接口与继承怎么定义”吧!假设我有很多个类,分别是Mysql.java、SQLSer...
    99+
    2023-06-17
  • css有哪些不继承父类的属性
    本篇内容主要讲解“css有哪些不继承父类的属性”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“css有哪些不继承父类的属性”吧! cs...
    99+
    2022-10-19
  • C++中的继承模式有哪些
    这篇文章主要介绍了C++中的继承模式有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前言继承是OOP设计中的重要概念。在C++语言中,派生类继承基类有三种继承方式:私有继...
    99+
    2023-06-14
  • JavaScript中的继承模式有哪些
    JavaScript中的继承模式有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一. 原型链继承所谓原型链继承,就是让父类的一个实例作为子...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作