📄 4-8-3.php
字号:
4-8-3.php<br>接口与组合模拟多重继承<br><?interface UserInterface{ //定义User的接口 function getname();}interface TeacherInterface{ //teacher相关接口 function getLengthOfService();}class User implements UserInterface { //实现UserInterface接口 private $name = "tom"; public function getName(){ return $this->name; }}class Teacher implements TeacherInterface { //实现TeacherInterface接口 private $lengthOfService = 5; // 工龄 public function getLengthOfService(){ return $this->lengthOfService; }}// 继承自User类,同时实现了TeacherInterface接口.class GraduateStudent extends User implements TeacherInterface { private $teacher ; public function __construct(){ $this->teacher = new Teacher(); } public function getLengthOfService(){ return $this->teacher->getLengthOfService(); }}class Act{ //注意这里的类型提示改成了接口类型 public static function getUserName(UserInterface $_user){ echo "Name is " . $_user->getName() ."<br>"; } //这里的类型提示改成了TeacherInterface类型. public static function getLengthOfService(TeacherInterface $_teacher){ echo "Age is " .$_teacher->getLengthOfService() ."<br>"; }}$graduateStudent = new GraduateStudent();Act::getUserName($graduateStudent);Act::getLengthOfService($graduateStudent);//结果正如我们所要的,实现了有多重身份的一个对象.?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -