如何在PHP面向对象中定义接口的继承

网友投稿 202 2024-02-02


如何在PHP面向对象中定义接口的继承

本文主要介绍"怎么在PHP面向对象中定义接口的继承",希望能够解决您遇到有关问题,下面我们一起来看这篇 "怎么在PHP面向对象中定义接口的继承" 文章。

在PHP5中,接口是可以继承自另外一个接口的。这样代码的重用更有效了。要注意只有接口和接口之间使用 继承关键字 extends。类实现接口必须实现其抽象方法,使用实现关键字 implements。

下面的这个例子定义接口User,User有两个抽象方法 getName和setName。 又定义了接口VipUser, 继承自User接口,并增加了和折扣相关的方法getDiscount。

最后定义了类 Vip ,实现了VipUser接口。并实现了其中的三个方法。

<?php interface User {   public function getName();   public function setName($_name); } interface VipUser extends User {   public function getDiscount(); //添加了获得折扣的抽象方法. } class Vip implements VipUser {   private $name;   private $discount = 0.8;// 定义折扣变量   public function getName(){ //实现getName方法     return $this->name;   }   public function setName($_name){//实现setName方法     $this->name = $_name;   }   public function getDiscount(){//实现折扣方法.     return $this->discount;   } } ?>

接口可以实现多继承,这是接口很特殊的地方。注意下面的代码和用法。

<?php interface User {   public function getName();   public function setName($_name); } interface Administrator {   public function setNews($_news); } //注意这里的多继承. interface NewsAdministrator extends User,Administrator{ } class NewsAdmin implements NewsAdministrator { //实现接口   public function getName(){     //.........   }   public function setName($_name){     //.........   }   public function setNews($_news){     //.........   } } ?>

抽象类实现接口,可以不实现其中的抽象方法,而将抽象方法的实现交付给具体能被实例化的类去处理。

<?php interface User {   public function getName();   public function setName($_name); } //AbstractNormalUser 只实现了 User接口中的一个方法, abstract class AbstractNormalUser{   protected $name;   public function getName(){     return $this->name;   } } //这里实现了接口的另外一个方法. class NormalUser extends AbstractNormalUser {   public function setName($_name){     $this->name = $_name;   } } $normalUser = new NormalUser(); $normalUser->setName("tom"); echo "name is ".$normalUser->getName(); ?>

运行结果:

name is tom

php有什么特点

1、执行速度快。2、具有很好的开放性和可扩展性。3、PHP支持多种主流与非主流的数据库。4、面向对象编程:PHP提供了类和对象。5、版本更新速度快。6、具有丰富的功能。7、可伸缩性。8、功能全面,包括图形处理、编码与解码、压缩文件处理、xml解析等。

关于 "怎么在PHP面向对象中定义接口的继承" 就介绍到这。希望大家多多支持编程宝库。

PHP编程技术

如何在PHP中定义模板模式:本文主要介绍"怎么在PHP中定义模板模式",希望能够解决您遇到有关问题,下面我们一起来看这篇 "怎么在PHP中定义模板模式" 文章。模板模式准备一个抽象类,将部分逻辑以具体方法以及具体构造形式实现,然后声明一些抽 ...


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:C#接口的概念以及实现方式
下一篇:java怎么实现接口的继承和多继承
相关文章

 发表评论

暂时没有评论,来抢沙发吧~