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
- Analysis Pattern
- Software Architecture Pattern
- Design Pattern
- HCI Pattern (Human, Computer Interface)
- Implementation Pattern
- Refactoring
設計:
所有的數據都應該隱藏在類的內部。
類的使用者必須依賴類的公有接口,類不能依賴類的使用者。
盡量減少類的公有接口。
不要把實現細節放到公有接口。
不要把無用的東西放到公有接口。
導出耦合: 一個類用到另一個類的公有接口,類與類之間應該只有導出耦合的關係。
類只表示一個關鍵抽象(key abstraction)
相關行為和數據放到同一個類。
不相關的訊息放到另一個類。
留言
張貼留言