程式菜鳥以一個入門計算機app解釋oop
首先把calculation 相關運作及資料聚集起來(encapsulation)
,建一道牆(access control),
內部如何計算只有我能接觸(maintain invariants).
於是此class設計成為計算機的腦(abstraction)
我的計算機隨時從外部增加新的operand而其原始碼完全不用更動(extensibiltiy)
另外我的計算機可以被繼承,我內部寫好的difficult logic free to use, 或override
some public method.(Inheritance) 使它可以成為其它產品的零件(composition).
我也可以透過介面覆予我的計算機其它型別,比如Singable 型別,並實作Singable 的功
能,與其它Singable型別,如史瑞克,放在一起(polymorphism)