日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

学习Java编程面向对象的五大基本原则

發(fā)布時(shí)間:2024/7/23 java 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 学习Java编程面向对象的五大基本原则 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Java 是面向?qū)ο蟮母呒壘幊陶Z言,類和對象是 Java 程序的構(gòu)成核心。圍繞著 Java 類和 Java 對象,有三大基本特性:封裝是 Java 類的編寫規(guī)范、繼承是類與類之間聯(lián)系的一種形式、而多態(tài)為系統(tǒng)組件或模塊之間解耦提供了解決方案。

單一職責(zé)原則(Single-Resposibility Principle)

其核心思想為:一個(gè)類,最好只做一件事,只有一個(gè)引起它的變化。單一職責(zé)原則可以看做是低耦合、高內(nèi)聚在面向?qū)ο笤瓌t上的引申,將職責(zé)定義為引起變化的原因,以提高內(nèi)聚性來減少引起變化的原因。職責(zé)過多,可能引起它變化的原因就越多,這將導(dǎo)致職責(zé)依賴,相互之間就產(chǎn)生影響,從而大大損傷其內(nèi)聚性和耦合度。通常意義下的單一職責(zé),就是指只有一種單一功能,不要為類實(shí)現(xiàn)過多的功能點(diǎn),以保證實(shí)體只有一個(gè)引起它變化的原因。

專注,是一個(gè)人優(yōu)良的品質(zhì);同樣的,單一也是一個(gè)類的優(yōu)良設(shè)計(jì)。交雜不清的職責(zé)將使得代碼看起來特別別扭牽一發(fā)而動(dòng)全身,有失美感和必然導(dǎo)致丑陋的系統(tǒng)錯(cuò)誤風(fēng)險(xiǎn)。

開放封閉原則(Open-Closed principle)

其核心思想是:軟件實(shí)體應(yīng)該是可擴(kuò)展的,而不可修改的。也就是,對擴(kuò)展開放,對修改封閉的。開放封閉原則主要體現(xiàn)在兩個(gè)方面1、對擴(kuò)展開放,意味著有新的需求或變化時(shí),可以對現(xiàn)有代碼進(jìn)行擴(kuò)展,以適應(yīng)新的情況。2、對修改封閉,意味著類一旦設(shè)計(jì)完成,就可以獨(dú)立完成其工作,而不要對其進(jìn)行任何嘗試的修改。

實(shí)現(xiàn)開開放封閉原則的核心思想就是對抽象編程,而不對具體編程,因?yàn)槌橄笙鄬Ψ€(wěn)定。讓類依賴于固定的抽象,所以修改就是封閉的;而通過面向?qū)ο蟮睦^承和多態(tài)機(jī)制,又可以實(shí)現(xiàn)對抽象類的繼承,通過覆寫其方法來改變固有行為,實(shí)現(xiàn)新的拓展方法,所以就是開放的。

“需求總是變化”沒有不變的軟件,所以就需要用封閉開放原則來封閉變化滿足需求,同時(shí)還能保持軟件內(nèi)部的封裝體系穩(wěn)定,不被需求的變化影響。

Liskov替換原則(Liskov-Substituion Principle)

其核心思想是:子類必須能夠替換其基類。這一思想體現(xiàn)為對繼承機(jī)制的約束規(guī)范,只有子類能夠替換基類時(shí),才能保證系統(tǒng)在運(yùn)行期內(nèi)識別子類,這是保證繼承復(fù)用的基礎(chǔ)。在父類和子類的具體行為中,必須嚴(yán)格把握繼承層次中的關(guān)系和特征,將基類替換為子類,程序的行為不會(huì)發(fā)生任何變化。同時(shí),這一約束反過來則是不成立的,子類可以替換基類,但是基類不一定能替換子類。

Liskov替換原則,主要著眼于對抽象和多態(tài)建立在繼承的基礎(chǔ)上,因此只有遵循了Liskov替換原則,才能保證繼承復(fù)用是可靠地。實(shí)現(xiàn)的方法是面向接口編程:將公共部分抽象為基類接口或抽象類,通過ExtractAbstractClass,在子類中通過覆寫父類的方法實(shí)現(xiàn)新的方式支持同樣的職責(zé)。

Liskov替換原則是關(guān)于繼承機(jī)制的設(shè)計(jì)原則,違反了Liskov替換原則就必然導(dǎo)致違反開放封閉原則。

Liskov替換原則能夠保證系統(tǒng)具有良好的拓展性,同時(shí)實(shí)現(xiàn)基于多態(tài)的抽象機(jī)制,能夠減少代碼冗余,避免運(yùn)行期的類型判別。

依賴倒置原則(Dependecy-Inversion Principle)

其核心思想是:依賴于抽象。具體而言就是高層模塊不依賴于底層模塊,二者都同依賴于抽象;抽象不依賴于具體,具體依賴于抽象。

我們知道,依賴一定會(huì)存在于類與類、模塊與模塊之間。當(dāng)兩個(gè)模塊之間存在緊密的耦合關(guān)系時(shí),最好的方法就是分離接口和實(shí)現(xiàn):在依賴之間定義一個(gè)抽象的接口使得高層模塊調(diào)用接口,而底層模塊實(shí)現(xiàn)接口的定義,以此來有效控制耦合關(guān)系,達(dá)到依賴于抽象的設(shè)計(jì)目標(biāo)。

抽象的穩(wěn)定性決定了系統(tǒng)的穩(wěn)定性,因?yàn)槌橄笫遣蛔兊?#xff0c;依賴于抽象是面向?qū)ο笤O(shè)計(jì)的精髓,也是依賴倒置原則的核心。

依賴于抽象是一個(gè)通用的原則,而某些時(shí)候依賴于細(xì)節(jié)則是在所難免的,必須權(quán)衡在抽象和具體之間的取舍,方法不是一層不變的。依賴于抽象,就是對接口編程,不要對實(shí)現(xiàn)編程。

接口隔離原則(Interface-Segregation Principle)

其核心思想是:使用多個(gè)小的專門的接口,而不要使用一個(gè)大的總接口。

具體而言,接口隔離原則體現(xiàn)在:接口應(yīng)該是內(nèi)聚的,應(yīng)該避免“胖”接口。一個(gè)類對另外一個(gè)類的依賴應(yīng)該建立在最小的接口上,不要強(qiáng)迫依賴不用的方法,這是一種接口污染。

接口有效地將細(xì)節(jié)和抽象隔離,體現(xiàn)了對抽象編程的一切好處,接口隔離強(qiáng)調(diào)接口的單一性。而胖接口存在明顯的弊端,會(huì)導(dǎo)致實(shí)現(xiàn)的類型必須完全實(shí)現(xiàn)接口的所有方法、屬性等;而某些時(shí)候,實(shí)現(xiàn)類型并非需要所有的接口定義,在設(shè)計(jì)上這是“浪費(fèi)”,而且在實(shí)施上這會(huì)帶來潛在的問題,對胖接口的修改將導(dǎo)致一連串的客戶端程序需要修改,有時(shí)候這是一種災(zāi)難。在這種情況下,將胖接口分解為多個(gè)特點(diǎn)的定制化方法,使得客戶端僅僅依賴于它們的實(shí)際調(diào)用的方法,從而解除了客戶端不會(huì)依賴于它們不用的方法。

分離的手段主要有以下兩種:1、委托分離,通過增加一個(gè)新的類型來委托客戶的請求,隔離客戶和接口的直接依賴,但是會(huì)增加系統(tǒng)的開銷。2、多重繼承分離,通過接口多繼承來實(shí)現(xiàn)客戶的需求,這種方式是較好的。

以上就是5個(gè)基本的面向?qū)ο笤O(shè)計(jì)原則。

為了讓學(xué)習(xí)變得輕松、高效,今天給大家免費(fèi)分享一套Java入門教學(xué)資源。幫助大家在成為Java架構(gòu)師的道路上披荊斬棘。需要入門的資料歡迎加入學(xué)習(xí)交流群:9285,05736

總結(jié)

以上是生活随笔為你收集整理的学习Java编程面向对象的五大基本原则的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日本理论片午伦夜理片在线观看 | jizz精品| 另类尿喷潮videofree | 我不卡av | 国产在线一 | 少妇做爰免费视看片 | 欧美成人激情视频 | 亚洲精品久久久久久无码色欲四季 | 日本中文一区 | 国产91av视频 | 亚洲人女屁股眼交6 | 国产富婆一区二区三区 | 欧美性欧美zzzzzzzzz | 久久久久亚洲av无码网站 | 久久久久久亚洲 | 大乳村妇的性需求 | av色成人| 一二三区在线 | 国产精品1234区 | 日韩成人在线播放 | 龚玥菲三级露全乳视频 | 99热亚洲 | 国产激情影院 | 中文字幕一区二区人妻 | √8天堂资源地址中文在线 欧美精品在线一区二区 | 一进一出好爽视频 | 9.1成人看片 | 日韩欧美视频 | 亚洲精品免费观看 | 日韩欧美手机在线 | 正在播放超嫩在线播放 | 婷婷久久亚洲 | 成人黄色性视频 | 国产乱码一区二区三区 | 日本美女黄网站 | 最新av| 无码人妻少妇伦在线电影 | 啪啪福利 | 男人的天堂毛片 | 污污视频免费看 | 欧美你懂的 | 国产成人愉拍精品久久 | 手机看片欧美日韩 | 精品美女www爽爽爽视频 | 中文字幕在线视频免费观看 | 欧美一级免费黄色片 | 夜夜小视频 | 九九精品免费视频 | 丰满孕妇性春猛交xx大陆 | 日美韩一区二区三区 | 久久久欧美精品sm网站 | 可以免费看毛片的网站 | 日本泡妞视频 | 亚洲精品66 | 91精品国产乱码在线观看 | 国产真实乱人偷精品人妻 | 调教撅屁股啪调教打臀缝av | 在线天堂www在线国语对白 | 无码国模国产在线观看 | 婷婷色婷婷开心五月四房播播 | 波多野结衣国产 | 一女被多男玩喷潮视频 | 国模在线视频 | 91精品国产99久久久久久红楼 | 日韩看片 | 成人免费片 | 中国在线观看片免费 | 懂色av蜜臀av粉嫩av分享 | 中文字幕永久在线 | 亚洲福利一区 | 都市激情麻豆 | 亚洲av成人无码久久精品老人 | 国产一级一片免费播放放a 丁香六月色 | 亚洲 欧美 成人 | 欧美成人va | 欧美a网站 | 成年人免费看视频 | 1024手机在线观看 | 日韩亚洲区 | 日韩aⅴ片 | 人妖一级片 | 91精品国产高潮对白 | 神马午夜电影一区二区三区在线观看 | 久久久久久国产精品三区 | 国产在线麻豆精品观看 | 91精产品一区观看 | 亚洲第一免费播放区 | 色偷偷在线观看 | 欧美另类高清 | 国产91精品一区二区麻豆亚洲 | 99免费看| 国产精品久久久久久免费观看 | 日韩在线天堂 | 日韩五月天 | 色88久久久久高潮综合影院 | 亚洲天堂资源网 | 亚洲视频欧洲视频 | 天天影视色 | 麻豆国产在线视频 |