background image

 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); 

//实现多重身份的一个对象. 

?>