天天看點

面向對象

面向對象的語言一般有以下三個基本特征:

(1)封裝  封裝是面向對象的重要特征之一,封裝就是指隐藏。一方面對象隐藏了資料,例如java語言的private屬性,另一方面對象隐藏了實作細節,使用者隻能使用公有方法,而你可以随意修改私有方法或者受保護的方法,進而降低了耦合度.

(2)繼承  從下往上看,繼承可以重用父類的功能;從上往下看,繼承可以擴充父類的功能.

(3)多态  我們可以使用同一段代碼處理不同類型的對象,隻要它們繼承/實作了相同的類型.

面向對象的好處:

-對象易于了解和抽象

-對象的粒度更大,子產品化程度也更高

-更加容易重用代碼

-具有可擴充性和開放性

-代碼易于閱讀

-易于測試和調試

-代碼容易維護

什麼是模式:

模式是一個常用的解決方案(general solution),而非僅僅是一個solution。

回調:

回調表示一段可執行邏輯的引用(或者指針),我們把該引用(或者指針)傳遞到另外一段邏輯(或者方法)裡供這段邏輯适時調用。回調在不同語言有不同的實作。例如,在c語言裡經常使用函數指針實作回調,在c#語言裡使用代理(delegate)實作,而在java語言裡使用内部匿名類實作回調.