面向對象有幾種關係ide
泛化和實現spa
關聯和依賴對象
關係理解繼承
泛化:就是繼承 實線帶三角形接口
實現:就是實現接口 虛線帶三角型生命週期
關聯:分爲三種,單向關聯,雙向關聯和自身關聯。實線事務
雙向關聯:這意味着,兩個類彼此知道它們間的關係。從代碼級別上看,就是A類裏存在對B類的屬性應用,B類裏也存在着對A類的應用ci
單向關聯:在一個單向關聯當中,兩個類是相關的,可是隻有一個類知道這種聯繫的存在。從代碼級別上看,就是A類對象對B類對象的屬性應用,但B類裏沒有A類的應用。it
自身關聯(反射關聯)。當一個類關聯到它自己時,這並不意味着類的實例與它自己相關,而是類的一個實例與類的另外一個實例相關。class
什麼是聚合:聚合關係是一種特殊的關聯關係。是一個類引用了另一個類。可是其表示一個明確的總體和部分的關係。是一種has-a關係。但聚合所表示的總體與部分,沒有必然的生命週期聯繫。總體的建立不必定會引發部分的關鍵,總體的消失,也不必定會讓部分所有消失,好比籃球隊和籃球隊員,電腦和鍵盤的關係。
上代碼:
class Computer{
private KeyBoard board//總體的建立,並不必定會部分建立。
}
什麼是組合:總體的建立必需要伴隨其相關聯部分的建立,總體的銷燬也將會引發部分的所有銷燬。
上代碼:
class Motor{
ArrayList dogs=new ArrayList()//同時建立,同時銷燬。
}
依賴:一個事物的變化會影響到另一個事務。
主要有3種形式,一種是方法的返回參數的類型是依賴這個類;一種是方法的形參是依賴這個類;另外一種是依賴這個方法裏面的對象。 虛線帶箭頭