欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

淺談Java面向?qū)ο笏枷?/h1>

本人免費整理了Java高級資料,涵蓋了Java、redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo高并發(fā)分布式等教程,一共30G,需要自己領(lǐng)取。
傳送門:https://mp.weixin.qq.com/s/JzddfH-7yNudmkjT0IRL8Q

一、三大特性

封裝

利用抽象數(shù)據(jù)類型將數(shù)據(jù)和基于數(shù)據(jù)的操作封裝在一起,使其構(gòu)成一個不可分割的獨立實體。數(shù)據(jù)被保護在抽象數(shù)據(jù)類型的內(nèi)部,盡可能地隱藏內(nèi)部的細節(jié),只保留一些對外的接口使其與外部發(fā)生聯(lián)系。用戶無需關(guān)心對象內(nèi)部的細節(jié),但可以通過對象對外提供的接口來訪問該對象。

發(fā)展壯大離不開廣大客戶長期以來的信賴與支持,我們將始終秉承“誠信為本、服務(wù)至上”的服務(wù)理念,堅持“二合一”的優(yōu)良服務(wù)模式,真誠服務(wù)每家企業(yè),認真做好每個細節(jié),不斷完善自我,成就企業(yè),實現(xiàn)共贏。行業(yè)涉及成都宣傳片制作等,在成都網(wǎng)站建設(shè)成都營銷網(wǎng)站建設(shè)、WAP手機網(wǎng)站、VI設(shè)計、軟件開發(fā)等項目上具有豐富的設(shè)計經(jīng)驗。

優(yōu)點:

  • 減少耦合:可以獨立地開發(fā)、測試、優(yōu)化、使用、理解和修改

  • 減輕維護的負擔(dān):可以更容易被程序員理解,并且在調(diào)試的時候可以不影響其他模塊

  • 有效地調(diào)節(jié)性能:可以通過剖析來確定哪些模塊影響了系統(tǒng)的性能

  • 提高軟件的可重用性

  • 降低了構(gòu)建大型系統(tǒng)的風(fēng)險:即使整個系統(tǒng)不可用,但是這些獨立的模塊卻有可能是可用的

以下 Person 類封裝 name、gender、age 等屬性,外界只能通過 get() 方法獲取一個 Person 對象的 name 屬性和 gender 屬性,而無法獲取 age 屬性,但是 age 屬性可以供 work() 方法使用。

注意到 gender 屬性使用 int 數(shù)據(jù)類型進行存儲,封裝使得用戶注意不到這種實現(xiàn)細節(jié)。并且在需要修改 gender 屬性使用的數(shù)據(jù)類型時,也可以在不影響客戶端代碼的情況下進行。

public?class?Person?{

????private?String?name;
????private?int?gender;
????private?int?age;

????public?String?getName()?{
????????return?name;
????}

????public?String?getGender()?{
????????return?gender?==?0???"man"?:?"woman";
????}

????public?void?work()?{
????????if?(18?<=?age?&&?age?<=?50)?{
????????????System.out.println(name?+?"?is?working?very?hard!");
????????}?else?{
????????????System.out.println(name?+?"?can't?work?any?more!");
????????}
????}
}

繼承

繼承實現(xiàn)了?IS-A?關(guān)系,例如 Cat 和 Animal 就是一種 IS-A 關(guān)系,因此 Cat 可以繼承自 Animal,從而獲得 Animal 非 private 的屬性和方法。

繼承應(yīng)該遵循里氏替換原則,子類對象必須能夠替換掉所有父類對象。

Cat 可以當(dāng)做 Animal 來使用,也就是說可以使用 Animal 引用 Cat 對象。父類引用指向子類對象稱為?向上轉(zhuǎn)型?。

Animal?animal?=?new?Cat();

多態(tài)

多態(tài)分為編譯時多態(tài)和運行時多態(tài):

  • 編譯時多態(tài)主要指方法的重載

  • 運行時多態(tài)指程序中定義的對象引用所指向的具體類型在運行期間才確定

運行時多態(tài)有三個條件:

  • 繼承

  • 覆蓋(重寫)

  • 向上轉(zhuǎn)型

下面的代碼中,樂器類(Instrument)有兩個子類:Wind 和 Percussion,它們都覆蓋了父類的 play() 方法,并且在 main() 方法中使用父類 Instrument 來引用 Wind 和 Percussion 對象。在 Instrument 引用調(diào)用 play() 方法時,會執(zhí)行實際引用對象所在類的 play() 方法,而不是 Instrument 類的方法。

public?class?Instrument?{

????public?void?play()?{
????????System.out.println("Instument?is?playing...");
????}
}
public?class?Wind?extends?Instrument?{

????public?void?play()?{
????????System.out.println("Wind?is?playing...");
????}
}
public?class?Percussion?extends?Instrument?{

????public?void?play()?{
????????System.out.println("Percussion?is?playing...");
????}
}
public?class?Music?{

????public?static?void?main(String[]?args)?{
????????List<Instrument>?instruments?=?new?ArrayList<>();
????????instruments.add(new?Wind());
????????instruments.add(new?Percussion());
????????for(Instrument?instrument?:?instruments)?{
????????????instrument.play();
????????}
????}
}
Wind?is?playing...
Percussion?is?playing...

二、類圖

以下類圖使用?PlantUML?繪制,更多語法及使用請參考:http://plantuml.com/?。

泛化關(guān)系 (Generalization)

用來描述繼承關(guān)系,在 Java 中使用 extends 關(guān)鍵字。

淺談Java面向?qū)ο笏枷?></p><p></p><pre>@startuml

title?Generalization

class?Vihical
class?Car
class?Trunck

Vihical?<|--?Car
Vihical?<|--?Trunck

@enduml</pre><h3>實現(xiàn)關(guān)系 (Realization)</h3><p>用來實現(xiàn)一個接口,在 Java 中使用 implements 關(guān)鍵字。</p><p><img src=

依賴關(guān)系 (Dependency)

和關(guān)聯(lián)關(guān)系不同的是,依賴關(guān)系是在運行過程中起作用的。A 類和 B 類是依賴關(guān)系主要有三種形式:

  • A 類是 B 類方法的局部變量;

  • A 類是 B 類方法當(dāng)中的一個參數(shù);

  • A 類向 B 類發(fā)送消息,從而影響 B 類發(fā)生變化。

淺談Java面向?qū)ο笏枷?></p><p></p><pre>@startuml

title?Dependency

class?Vihicle?{
????move(MoveBehavior)
}

interface?MoveBehavior?{
????move()
}

note?

三、設(shè)計原則

S.O.L.I.D

簡寫全拼中文翻譯SRPThe Single Responsibility Principle單一責(zé)任原則OCPThe Open Closed Principle開放封閉原則LSPThe Liskov Substitution Principle里氏替換原則ISPThe Interface Segregation Principle接口分離原則DIPThe Dependency Inversion Principle依賴倒置原則

1. 單一責(zé)任原則

修改一個類的原因應(yīng)該只有一個。

換句話說就是讓一個類只負責(zé)一件事,當(dāng)這個類需要做過多事情的時候,就需要分解這個類。

如果一個類承擔(dān)的職責(zé)過多,就等于把這些職責(zé)耦合在了一起,一個職責(zé)的變化可能會削弱這個類完成其它職責(zé)的能力。

2. 開放封閉原則

類應(yīng)該對擴展開放,對修改關(guān)閉。

擴展就是添加新功能的意思,因此該原則要求在添加新功能時不需要修改代碼。

符合開閉原則最典型的設(shè)計模式是裝飾者模式,它可以動態(tài)地將責(zé)任附加到對象上,而不用去修改類的代碼。

3. 里氏替換原則

子類對象必須能夠替換掉所有父類對象。

繼承是一種 IS-A 關(guān)系,子類需要能夠當(dāng)成父類來使用,并且需要比父類更特殊。

如果不滿足這個原則,那么各個子類的行為上就會有很大差異,增加繼承體系的復(fù)雜度。

4. 接口分離原則

不應(yīng)該強迫客戶依賴于它們不用的方法。

因此使用多個專門的接口比使用單一的總接口要好。

5. 依賴倒置原則

高層模塊不應(yīng)該依賴于低層模塊,二者都應(yīng)該依賴于抽象;
抽象不應(yīng)該依賴于細節(jié),細節(jié)應(yīng)該依賴于抽象。

高層模塊包含一個應(yīng)用程序中重要的策略選擇和業(yè)務(wù)模塊,如果高層模塊依賴于低層模塊,那么低層模塊的改動就會直接影響到高層模塊,從而迫使高層模塊也需要改動。

依賴于抽象意味著:

  • 任何變量都不應(yīng)該持有一個指向具體類的指針或者引用;

  • 任何類都不應(yīng)該從具體類派生;

  • 任何方法都不應(yīng)該覆寫它的任何基類中的已經(jīng)實現(xiàn)的方法。

其他常見原則

除了上述的經(jīng)典原則,在實際開發(fā)中還有下面這些常見的設(shè)計原則。

簡寫全拼中文翻譯LODThe Law of Demeter迪米特法則CRPThe Composite Reuse Principle合成復(fù)用原則CCPThe Common Closure Principle共同封閉原則SAPThe Stable Abstractions Principle穩(wěn)定抽象原則SDPThe Stable Dependencies Principle穩(wěn)定依賴原則

1. 迪米特法則

迪米特法則又叫作最少知識原則(Least Knowledge Principle,簡寫 LKP),就是說一個對象應(yīng)當(dāng)對其他對象有盡可能少的了解,不和陌生人說話。

2. 合成復(fù)用原則

盡量使用對象組合,而不是通過繼承來達到復(fù)用的目的。

3. 共同封閉原則

一起修改的類,應(yīng)該組合在一起(同一個包里)。如果必須修改應(yīng)用程序里的代碼,我們希望所有的修改都發(fā)生在一個包里(修改關(guān)閉),而不是遍布在很多包里。

4. 穩(wěn)定抽象原則

最穩(wěn)定的包應(yīng)該是最抽象的包,不穩(wěn)定的包應(yīng)該是具體的包,即包的抽象程度跟它的穩(wěn)定性成正比。

5. 穩(wěn)定依賴原則

包之間的依賴關(guān)系都應(yīng)該是穩(wěn)定方向依賴的,包要依賴的包要比自己更具有穩(wěn)定性。

本文題目:淺談Java面向?qū)ο笏枷?/a>
URL鏈接:
http://aaarwkj.com/article0/pdieoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、網(wǎng)站設(shè)計Google、定制網(wǎng)站、服務(wù)器托管用戶體驗

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
欧美大尺度影片在线观看| 欧美日本国产专区一区| 亚洲一区二区三区精品乱码| 五月天男人的天堂精品| 日韩一区二区三区av观看| 精品人妻av区天天看片| 日韩欧美中文字幕在线等| 少妇肥臀一区二区三区| 九九有点热以前的视频| 亚洲国产精品视频自拍| 成人国产亚洲日本欧美| 久久成人av一区二区三区| 亚洲精品日韩国产av| 日韩黄色一级免费在线观看| 日本一区二区高清在线观看| av毛片在线观看地址| 男人午夜激情免费网站| 亚洲欧洲一区二区免费| 高潮少妇水多毛多av| 91大神九色在线观看| 色综合色综合蘑菇在线| 久久久偷拍美女撒尿尿| 宅男午夜一区二区三区| 人妻少妇中文字幕一区| 伊人欧美一区二区三区| 亚洲免费一区二区三区精品| 亚洲老司机深夜福利| 91狠狠综合久久精品| 成人国产精品2021| 亚洲国产日韩精品av| 国产女孩精品在线播放| 中文字幕在线不卡精品视频| 亚洲经典日韩欧美一区| 97视频精品在线播放| 日本欧美国产污黄在线观看 | 欧美视频亚洲视频自拍视频| 亚洲成人av综合在线| 日本少妇熟女一区二区| 乱色熟女一区二区三区| 国产精品呻吟久久人妻| av天堂在线观看网站|