4-8-3.php

来自「php电子书」· PHP 代码 · 共 45 行

PHP
45
字号
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 + =
减小字号Ctrl + -
显示快捷键?