[OOP]介面interface、抽象類別abstract class的差異

  • 2089
  • 0
  • 2018-10-15

[OOP]介面interface、抽象類別abstract class的差異

介面interface、抽象類別abstract class通通都是本身不提供實體方法內容的物件

使用的情況:

1.抽象類別具有自己的屬性properties, 同時擁有不具備詳細定義的抽象方法,這些抽象方法將會在繼承類別中實作

2.介面不具有自己任何的屬性,只具有不具備詳細定義的抽象方法,這些抽象方法將會在實做類別中實作

補充:20181015
被class類別實做之後的interface物件,被當成參數傳遞的時候是非常好用的!因為參數的型態可以定義為原本定義的interface名稱例如:IMyInterface,不論之後被什麼樣的類別實做,要把實做之後的類別當成參數傳遞的時候,只要傳遞IMyInterface型態的參數即可、不用寫實做之後的類別型態!要寫library給別人使用的時候就會很好用。

參考資料:
自己的心得