更新時間:2020-07-08 16:15:24 來源:動力節點 瀏覽2280次
面向對象
面向對象就是一種思想,把任何事物都看作是一個對象,把它們之間的關系抽象成類、繼承。在軟件開發方面,面向對象是指一種程序設計范型,同時也是一種程序開發的方法。
常見的幾個方面是,面向對象的分析(OOA,Object Oriented Analysis),面向對象的設計(OOD,Object Oriented Design)、以及面向對象的編程實現(OOP,Object Oriented Programming)。
早期的計算機編程都是面向過程的,當需要處理的問題越來越復雜時,面向對象思想就應運而生了。
在計算機語言方面,純面向對象語言的像Smalltalk在20世紀70年代出現,隨后出現的C++是混合型,90年代出現了Java以及隨后微軟應對Java發表的C#都是面向對象的語言。
面向對象的三大特性
1、封裝將代碼及其處理的數據綁定在一起,隱藏對象的屬性和實現細節,僅對外提供公共訪問方式,將變化隔離,便于使用,提高復用性和安全性。Java語言的基本封裝單位是類
2、繼承子類擁有父類的全部特征和行為,這是類之間的一種關系。提高代碼復用性;繼承是多態的前提。Java只支持單繼承。
3、多態父類中定義的屬性和方法被子類繼承后,可以具有不同的屬性或表現方式。多態機制使具有不同內部結構的對象可以共享相同的外部接口。提高了程序的拓展性。
設計標準:高內聚與低耦合
內聚是指事物內部的聯系緊密程度。在面向對象編程中,就是對象內各元素之間關系緊密程度。高內聚追求的是事物盡量只完成單一功能,以降低事物本身的復雜程度。
耦合是指事物之間的聯系緊密程度。在面向對象編程中,就是對象與對象之間的關系緊密程度。低耦合追求的是事物盡量保持自身獨立。
面向對象的五大基本原則:
1、單一職責原則SRP(Single Responsibility Principle)類的功能要單一,僅有一個引起其變化的原因,提高高內聚來減少引起變化的原因。
2、開放封閉原則OCP(Open-Close Principle)一個軟件實體應當對擴展開放,對修改關閉。即軟件實體應盡量在不修改原有代碼的情況下進行擴展。抽象是關鍵,封裝可變性。
3、里式替換原則LSP(the Liskov Substitution Principle LSP)所有引用基類(父類)的地方必須能透明地使用其子類的對象,任何時候都可以用子類型替換掉父類型。這個原則依賴面向對象的繼承特性和多態特性。
4、依賴倒置原則DIP(the Dependency Inversion Principle DIP)抽象不應該依賴于細節,細節應當依賴于抽象;高層模塊不應該依賴低層模塊,兩者都應該依賴其抽象。換言之,要針對接口編程,而不是針對實現編程。
5、接口分離原則ISP(the Interface Segregation Principle ISP)使用多個專門的接口,而不使用單一的總接口,即客戶端不應該依賴那些它不需要的接口。
面向對象的一個法則與復用原則
迪米特法則LOD/LKP(Law of Demeter又名Least Knowledge Principle)一個軟件實體應當盡可能少地與其他實體發生相互作用。降低類之間的耦合。
合成復用原則CRP(Composite Reuse Principle)要盡量使用合成和聚合,盡量不要使用繼承。因為繼承復用破壞包裝,子類知道所有父類細節,而且父類變化總是引起子類變化。
面向對象的思維
先整體,再局部
先抽象,再具體
能做什么,再怎么做
以上就是動力節點java培訓機構的小編針對“全方面了解Java中的面向對象”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習