is A和has A的區別

2021-07-09 14:04:33 字數 510 閱讀 8820

is-a」與"has-a"的關係。。。"is-a」代表類之間或類與介面的繼承關係,比如貓是動物,狗也是動物,都繼承了動物的共同特性,再用oo語言實現時,應將貓和狗定義成兩種類,均繼承動物類。"has-a"代表的是物件和他成員的從屬關係,同一種類的物件,通過它們的屬性的不同值來區別。比如張三和李四都是人,但他們的名字不一樣,可以以此區分這兩個具體的人。名字應該作為人的成員變數。如果將名字叫「張三」的人和名字叫「李四」的人分別定義成兩個類,均繼承「人」這個類,顯然是不合理的。

裝飾模式中有出現兩者同時用的情況,乙個類在介面上表現為is-a的繼承關係,但在實現上又表現為has-a的組合關係,簡要**:

abstract

class

decorator : component

//---decorator 「is-a」 component 

public

override

void

operation()}}

is A和has A的區別

is a 與 has a 的關係。is a 代表類之間或類與介面的繼承關係,比如貓是動物,狗也是動物,都繼承了動物的共同特性,再用oo語言實現時,應將貓和狗定義成兩種類,均繼承動物類。has a 代表的是物件和他成員的從屬關係,同一種類的物件,通過它們的屬性的不同值來區別。比如張三和李四都是人,但他...

has a 和 is a 的學習

精進,於重複和深入。傑通過學習,我對這兩則的理解是這樣的。is a 指的物件是類和物件之間的一種繼承關係,比如,類human 和物件 小明 has a 指的物件是類和類之間的一種包含關係。我們學習理解has a和is a 的關係區別,實則是在弄明白 之間是實現繼承和介面繼承的關係,提高 的重用性。下...

Is a 和Has a之間關係

is a 和has a之間關係 可以這樣理解 汽車是一種交通工具 汽車 is a 交通工具 汽車有乙個發動機 汽車 has a 發動機 is a 一般是繼承關係 has a 一般是組合關係 或者這樣理解 has a 關係即組合關係,通過定義類的屬性的方式實現的 is a 關係即繼承關係,通過類繼承實...