首页 > php教程 > PHP源码 > 正文

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

WBOY
发布: 2016-06-08 17:26:28
原创
1153 人浏览过
<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 末页
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!