Is a 和Has a之間關係

2021-04-25 16:32:20 字數 476 閱讀 5414

is a 和has a之間關係

可以這樣理解

汽車是一種交通工具: 汽車 is-a 交通工具

汽車有乙個發動機: 汽車 has-a 發動機

is-a 一般是繼承關係

has-a 一般是組合關係

或者這樣理解;

"has a"關係即組合關係,通過定義類的屬性的方式實現的;"is a"關係即繼承關係,通過類繼承實現

如果你確定兩件物件之間是is-a的關係,那麼此時你應該使用繼承;比如菱形、圓形和方形都是形狀的一種,那麼他們都應該從形狀類繼承而不是聚合。

如果你確定兩件物件之間是has-a的關係,那麼此時你應該使用組合;比如電腦是由顯示器、cpu、硬碟等組成的,那麼你應該把顯示器、cpu、硬碟這些類聚合成電腦類,而不是從電腦類繼承。

is A和has A的區別

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

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 的關係區別,實則是在弄明白 之間是實現繼承和介面繼承的關係,提高 的重用性。下...