PHP编程环境下的继承与多态的实现

2019/11/12 11:50:46 作者:互联网发布企业:太原达内科技有限公司[打印]

说起面向对象编程我们就不得不提到继承和多态这些内容,下面我们就通过案例分析来了解一下,PHP编程环境下的继承与多态的实现。

一、继承

继承是一种关联类的层次模型,它可以建立类之间的关系,并实现代码重用,方便系统扩展。继承提供了一种明确表述共性的方法,是一个新类从现有的类中派生的过程。继承产生的新类继承了原始类的特性,新类称为原始类的派生类(或子类),而原始类称为新类的基类(或父类)。派生类可以从基类那里继承方法和变量,并且新类可以重载或增加新的方法,使之满足自己的定制化的需要。

PHP中使用extends关键字来进行类的继承,一个类只能继承一个父类。被继承的成员方法和成员变量可以使用同名的方法或变量重写,如果需要访问父类的成员方法或变量可以使用特殊类parent来进行。

二、多态

多态是继数据抽象和继承后的三个特性。顾名思义,多态即多种形态,相同方法调用实现不同的实现方式。多态关注一个接口或基类,在编程时不必担心一个对象所属于的具体类。在面向对象的原则中里氏代换原则(LiskovSubstitutionPrinciple,LSP),依赖倒转原则(dependenceinversionprinciple,DIP)等都依赖于多态特性。而我们在平常工作中也会经常用到。

三、接口的实现

前面的PHP示例中有用到接口,而且在多态中,接口是一个不得不提的概念。接口是一些方法特征的集合,是一种逻辑上的抽象,它没有方法的实现,因此这些方法可以在不同的地方被实现,可以有相同的名字而具有完全不同的行为。

而PHP内核对类和接口一视同仁,它们的内部结构一样。这点在前面的类型提示实现中也有看到,不管是接口还是类,调用instanceof_function函数时传入的参数和计算过程中使用的变量都是zend_class_entry类型。

四、抽象类

抽象类是相对于具体类来说的,抽象类仅提供一个类的部分实现。抽象类可以有实例变量,构造方法等。抽象类可以同时拥有抽象方法和具体方法。一般来说,抽象类代表一个抽象的概念,它提供了一个继承的出发点,理想情况下,所有的类都需要从抽象类继承而来。而具体类则不同,具体类可以实例化。由于抽象类不可以实例化,因此所有抽象类应该都是作为继承的父类的。

【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!


关键字:太原达内,PHP编程,IT培训
免责声明:以上所展示的信息由网友自行发布,内容的真实性、准确性和合法性由发布者负责。行业信息网对此不承担任何保证责任。任何单位或个人如对以上内容有权利主张(包括但不限于侵犯著作权、商业信誉等),请与我们联系并出示相关证据,我们将按国家相关法规即时移除。

其他新闻

关于我们 | 服务条款 | 网站指南 | 免责声明 | 友情链接 | 给我们留言
红盾
COPYRIGHT @ 2001-2017 CNlinfo.net ALL RIGHTS RESERVED
深圳市信息行业协会商务网站 运营商:深圳市兴讯信息技术有限公司 粤ICP备:05039908
营业执照