多態一個對象變量可以引用多種實際類型的現象叫做多態(polymorphism)在java和c++語言中指的是可以用子類對象賦給父類對象說道多態就要說說覆蓋(overriding)覆蓋實際上指在同一個函數原型的情況下將父類的一個實現替換為子類的一個實現
動態綁定在運行時能夠自動的選擇調用那個方法的現象叫做動態綁定(dynamic binding)
繼承的設計技巧
將公共操作和域放在超類
不要使用受保護的域
使用繼承實現isa關系
除非所有繼承的方法都有意義否則不要使用繼承
在覆蓋方法時不要改變預期的行為
使用多態而非類型信息
不要過多的使用反射
如果設計合理OO設計中根本不會出現全局數據之類的東西這一點保證了OO系統中高度的數據完整性
在OO術語中數據表示為屬性行為表示為方法限制對某些數據或方法的訪問叫做數據隱藏(Data Hiding)為了支持數據隱藏的概念方法裡提出了訪問方法(accessor method)和設置方法(mutator method)兩種特殊方法
封裝通過把數據和方法合並到一個對象裡以控制對數據和方法的訪問的OO術語通常一個對象不應該對另一個對象的內部數據進行操作應該設計完成特定任務的小對象而不是設計完成許多功能的大對象
對象數據的多種英文表達方式屬性(attribute)特性(property)
對象方法的多種英文表示方式方法(method)行為(behavior)
類和對象的關系類是創建對象的模板我們使用類來創建對象當一個對象被創建時我們說對象被實例化對象被實例化後才會在內存中存在有個例子可能對於理解類和對象很有幫助在關系型數據庫中表的定義就是類表中的行數據是對象
消息消息是對象之間的通訊機制當對象A調用對象B的一個方法時就是對象A在向對象B發送一個消息
接口最終為用戶提供服務的集合理想情況下應該只為最終用戶提供他們需要的服務接口要最小化
對象持久性(object persistence)指保存對象的狀態從而可以在以後恢復且使用
From:http://tw.wingwit.com/Article/program/Java/hx/201311/26617.html