物件導向

繼承 Inheritance

When

  • 當子類別屬於父類別。(如. 狗屬於動物)
  • 當子類別需要父類別中的大多數方法時。

Why

  • 避免重工。
  • 父類別的變更會直接反映在子類別。

封裝 Encapsulation

How

  • 將變數設為private,使用getter跟setter去存取變數。

Why

  • 目的在於避免直接修改變數而造成錯誤

多型 Polymorphism

子類別可以新增新方法而不用動到父類別。

抽象 Abstract

What

  • 抽象類別無法產生(new)實體,因為它是"抽象"的。
  • 抽象類別的方法可僅實作亦可僅宣告。
  • 繼承抽象類別的子類別必須實作父類別的方法。
  • 一個子類別只能繼承一個父類別。

When

  • 當兩個物件的特徵幾乎一樣,只有少數方法不同時可繼承抽象類別。

介面 Interface

What

  • 介面本身就是個抽象類別。
  • 介面是一種規範,要實行介面必須要follow它定義的spec,也就是所有方法皆須實作。
  • 一個類別可以同時實行多個介面。

When

  • 當多個物件必須具有相同規範的時候可定義介面來實行。

http://answers.unity3d.com/questions/233859/whats-the-use-of-abstract-classes-and-interfaces-i.html
http://jimmu-jimmu.blogspot.tw/2012/10/abstract-classinterface.html

results matching ""

    No results matching ""