-
1 # Java架構進階阿南
-
2 # Java架構師之路
程式碼開發模組化,更易維護和修改;
程式碼複用性強;
增強程式碼的可靠性和靈活性;
增加程式碼的可讀性。
面向物件的四大基本特性:抽象:提取現實世界中某事物的關鍵特性,為該事物構建模型的過程。對同一事物在不同的需求下,需要提取的特性可能不一樣。得到的抽象模型中一般包含:屬性(資料)和操作(行為)。這個抽象模型我們稱之為類。對類進行例項化得到物件。
封裝:封裝可以使類具有獨立性和隔離性;保證類的高內聚。只暴露給類外部或者子類必須的屬性和操作。類封裝的實現依賴類的修飾符(public、protected和private等)
繼承:對現有類的一種複用機制。一個類如果繼承現有的類,則這個類將擁有被繼承類的所有非私有特性(屬性和操作)。這裡指的繼承包含:類的繼承和介面的實現。
多型:多型是在繼承的基礎上實現的。多型的三個要素:繼承、重寫和父類引用指向子類物件。父類引用指向不同的子類物件時,呼叫相同的方法,呈現出不同的行為;就是類多型特性。多型可以分成編譯時多型和執行時多型。
抽象、封裝、繼承和多型是面向物件的基礎。在面向物件四大基礎特性之上,我們在做面向物件程式設計設計時還需要遵循有一些基本的設計原則。
面向物件的七大設計原則:SOLID原則(單一職責原則、開放關閉原則、里氏替換原則、介面隔離原則和依賴倒置原則) 迪米特法則 組合優於繼承原則(合成複用原則)。 在遵循這些面向物件設計原則基礎上,前輩們總結出一些解決不同問題場景的設計模式,以四人幫的gof23最為知名。
24種設計模式(gof23+1):建立型模式:
1.簡單工廠模式(不包含在gof23中)
2.工廠模式
3.抽象工廠模式
4.單例模式
5.原型模式 建立者模式
6.結構型模式:
7.組合模式
8.裝飾者模式
9.外觀模式
10.介面卡模式
11.代理模式
12.享元模式
13.橋接模式 行為型模式:
14.觀察者模式
15.策略模式
16.狀態模式
17.中介模式
18.模板方法
19.命令模式
20.備忘錄模式
21.訪問者模式
22.直譯器模式
23.迭代器模式
24.職責鏈模式
回覆列表
更加通俗的解釋是怎樣的呢?
比如有個女朋友,那麼她肯定是物件她的身高三圍等等是引數屬性,那些可以告訴別人的就叫公有屬性,私密的就是私有屬性;
她會說話,會吃飯,會撒嬌。。。這些就是方法,定義了她會做什麼當然能和所有人共用的方法就是公有的方法(說話),相反就是私有方法如果她撒嬌;
那麼你是不是就給她買衣服,買吃的,買包包,這個就是傳參;
當她和你結婚的時候就會在戶口本上和生活上和你繫結,構成一個家,這個就是封裝;
你們封裝了之後,是不是就會有自己的孩子,這些孩子就會繼承你們的很多東西,比如性格,長相;
而每個孩子又會有他們自己的特色,這些孩子就是多型的呈現。
然而,事實卻是這樣的.