class

https://ithelp.ithome.com.tw/articles/10216645?sc=pt


abstract class:

  • 不能被實例化
  • 可以有construct
  • 有抽象的function跟具體的function
  • 需被子類別繼承

interface:

  • 為契約
  • 需要被implement
  • 只能包含function聲明
  • 不能包含function實作
  • 不能被實例化

類別:

尚未被實例化的class,為一種設計。

物件:

已經被實例化的class,值會隨著邏輯改變。

封裝:

隱藏實作細節,只開放應該要開放的屬性和方法,可以任意修改內部細節,而不影響外部使用者。

繼承:

子類別繼承父類別,就代表子類別擁有父類別的屬性和方法,子類別會擴充父類別,子類別is a 父類別。

多型:

同一個操作作用在不同類別上,會有不同的行為。

SOLID


Grasp


設計pattern
  1. Analysis Pattern
  2. Software Architecture Pattern
  3. Design Pattern
  4. HCI Pattern (Human, Computer Interface)
  5. Implementation Pattern
  6. Refactoring

設計:

所有的數據都應該隱藏在類的內部。
類的使用者必須依賴類的公有接口,類不能依賴類的使用者。
盡量減少類的公有接口。
不要把實現細節放到公有接口。
不要把無用的東西放到公有接口。
導出耦合: 一個類用到另一個類的公有接口,類與類之間應該只有導出耦合的關係。
類只表示一個關鍵抽象(key abstraction)
相關行為和數據放到同一個類。
不相關的訊息放到另一個類。


留言

這個網誌中的熱門文章

WINDOWS cmd 操作:查看進程、TCP連線、刪除TCP連線和進程

mongodb aggregate 筆記

mongodb shell 操作