当前位置:  首页  >  PHP教程  >  PHP 基础  >  开发经验

PHP面向对象:使用接口与组合模拟多继承(1/2)-PHP源码

ec(2);在php中不支持多重继承,如果我们向使用多个类的方法而实现代码重用有什么办法么?那就是组合。在一个类中去将另外一个类设置成属性。下面的例子,模拟了多重继承。viewsourceprint?01<? 02classuser{ 03    private$name"tom&qu
《script》ec(2);《script》

在php中不支持多重继承,如果我们向使用多个类的方法而实现代码重用有什么办法么?那就是组合。在一个类中去将另外一个类设置成属性。

下面的例子,模拟了多重继承。

view sourceprint?01

02 class user {

03 private $name = "tom";

04 public function getname(){

05 return $this->name;

06 }

07 }

08 class teacher{

09 private $lengthofservice = 5; // 工龄

10 public function getlengthofservice(){

11 return $this->lengthofservice;

12 }

13 }

14 // 上面的类中的set方法就不写了.

15 // 如果有个研究生,既是学生也算工龄.

16 class graduatestudent extends user {

17 private $teacher ;

18 public function __construct(){

19 $this->teacher = new teacher();

20 }

21 public function getlengthofservice(){

22 return $this->teacher->getlengthofservice();

23 }

24 }

25 $graduatestudent = new graduatestudent();

26 echo "name is ".$graduatestudent->getname()."
";

27 echo "lengthofservice is ".$graduatestudent->getlengthofservice();

28

29 ?>

首页 1 2 末页

吐了个 "CAO" !
扫码关注 PHP1 官方微信号
PHP1.CN | 中国最专业的PHP中文社区 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP问答
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有