2014-02-19 87 views
-1

我有一個與面向對象編程相關的查詢。我想知道什麼時候我需要使用接口,什麼時候我需要使用抽象類?如果有人能用現實世界的例子來解釋它,那將是非常棒的。什麼時候使用抽象calss和何時使用接口

謝謝!

+0

有很多文章都在談論它。 – Misters

+0

一個接口是一個接口,而一個抽象類是一個部分實現。如果你想要一個部分實現,它被稱爲一個抽象類。如果你想要一個接口,那就叫做接口。 –

回答

0

選擇absract類和接口的方式實際上取決於要求。 當你想有一個功能'可以(可選)「的類/類的一部分,那麼選擇接口是明智的。 但是當你有一個'應該是(必須的)'部分的特徵時,它應該來自一個absract類。

例如: 讓我們考慮你正在創建一個CAR類,它應該有一個'輪胎'功能,沒有這個屬性CAR或任何其他類型的車輛不能完成,那麼'輪胎'的功能應該在absract基類裏面(可以說'Vehicle')。

但考慮性能/功能是可選的像「換股」可以做成一個接口IConvertible.Because是可選的任何兒童車有此功能。

現在正是這樣說,像CAR,BIKE這類應該從抽象類車輛獲得車輛特徵(輪胎),同時只有CAR可以從IConvertible派生,因爲只有車可以有特徵。

選擇界面還可以像在.NET

希望這有助於....

插件的優勢在於功能將要由它繼承做出IConvertible類,允許與多重繼承
相關問題