<?php
/**
* 類之間的關係分爲:
* 1. 實現:實現類或接口
* 2. 泛化:即繼承,是is-a的關係,是耦合度最大的一種關係
* 3. 依賴:對象在運行時會用到另一個對象的關係
* 4. 關聯:
* 4.1 一般關聯關係:描述不同類的對象之間的結構關係,是一種靜態關係。屬於“強關聯”關係
* 4.2 聚合關係:has-a關係,是一種不穩定的包含關係,有整體和部分的關係,如果整體不存在了,部分也可以獨立存在。較強於一般關聯。如學生和班級。
* 4.3 組合關係:contains-a關係,是一種強烈的包含關係(更強的聚合關係)。組合類負責被組合類的生命週期,整體和部分的關係,部分不能脫離整體存在。如班級和學校
*
* 通過下面的例子來更好的理解上面說的類之間的實現,泛化,依賴關係
*/
/**
* 學生的抽象類,類裏有個學習的抽象方法。
* 泛化出男學生
* 學生依賴書本學習
*/
/**
* 定義一個學生的抽象類,類裏有個學習的抽象方法
*/
abstract class Students {
abstract function study();
}
class Books {
function phpBook(){
return "PHP";
}
}
/**
* 定義一個男學生類,實現學生類和類裏的學習方法
*/
class ManStudents extends Students {
private $books;
function __construct($books){
$this->books = $books;
}
function study (){
echo "我正在學習".$this->books->phpBook();
}
}
$manStudents = new ManStudents(new Books());
$manStudents->study();
?>