更新時(shí)間:2022-05-06 09:05:09 來源:動(dòng)力節(jié)點(diǎn) 瀏覽919次
面向?qū)ο缶幊?(OOP) 是一種計(jì)算機(jī)編程模型,它圍繞數(shù)據(jù)或?qū)ο蠖皇枪δ芎瓦壿媮斫M織軟件設(shè)計(jì)。對(duì)象可以定義為具有獨(dú)特屬性和行為的數(shù)據(jù)字段。
OOP 關(guān)注開發(fā)人員想要操作的對(duì)象,而不是操作它們所需的邏輯。這種編程方法非常適合大型、復(fù)雜且積極更新或維護(hù)的程序。這包括制造和設(shè)計(jì)程序以及移動(dòng)應(yīng)用程序;例如,OOP 可用于制造系統(tǒng)仿真軟件。
面向?qū)ο蟪绦虻慕M織也使該方法有利于協(xié)作開發(fā),其中項(xiàng)目被分成組。OOP 的其他好處包括代碼可重用性、可擴(kuò)展性和效率。
OOP 的第一步是收集程序員想要操作的所有對(duì)象并確定它們之間的關(guān)系——這種練習(xí)稱為數(shù)據(jù)建模。
對(duì)象的示例范圍可以從物理實(shí)體(例如由名稱和地址等屬性描述的人)到小型計(jì)算機(jī)程序(例如小部件)。
一旦一個(gè)對(duì)象是已知的,它就會(huì)被標(biāo)記為一類對(duì)象,這些對(duì)象定義了它包含的數(shù)據(jù)類型以及可以操作它的任何邏輯序列。每個(gè)不同的邏輯序列稱為一種方法。對(duì)象可以與定義良好的稱為消息的接口進(jìn)行通信。
面向?qū)ο缶幊痰慕Y(jié)構(gòu)或構(gòu)建塊包括以下內(nèi)容:
類是用戶定義的數(shù)據(jù)類型,充當(dāng)單個(gè)對(duì)象、屬性和方法的藍(lán)圖。
對(duì)象是使用專門定義的數(shù)據(jù)創(chuàng)建的類的實(shí)例。對(duì)象可以對(duì)應(yīng)于現(xiàn)實(shí)世界的對(duì)象或抽象實(shí)體。最初定義類時(shí),描述是唯一定義的對(duì)象。
方法是在描述對(duì)象行為的類中定義的函數(shù)。類定義中包含的每個(gè)方法都以對(duì)實(shí)例對(duì)象的引用開始。此外,對(duì)象中包含的子例程稱為實(shí)例方法。程序員使用方法來實(shí)現(xiàn)可重用性或?qū)⒐δ芤淮畏庋b在一個(gè)對(duì)象中。
屬性在類模板中定義并表示對(duì)象的狀態(tài)。對(duì)象將數(shù)據(jù)存儲(chǔ)在屬性字段中。類屬性屬于類本身。
面向?qū)ο缶幊袒谝韵略瓌t:
封裝。該原則指出,所有重要信息都包含在對(duì)象內(nèi),并且僅公開選擇的信息。每個(gè)對(duì)象的實(shí)現(xiàn)和狀態(tài)都私有地保存在定義的類中。其他對(duì)象無權(quán)訪問此類或進(jìn)行更改的權(quán)限。他們只能調(diào)用公共函數(shù)或方法的列表。數(shù)據(jù)隱藏的這一特性提供了更高的程序安全性并避免了意外的數(shù)據(jù)損壞。
抽象。對(duì)象只顯示與使用其他對(duì)象相關(guān)的內(nèi)部機(jī)制,隱藏任何不必要的實(shí)現(xiàn)代碼。派生類可以擴(kuò)展其功能。這個(gè)概念可以幫助開發(fā)人員隨著時(shí)間的推移更輕松地進(jìn)行額外的更改或添加。
繼承。類可以重用其他類的代碼。可以分配對(duì)象之間的關(guān)系和子類,使開發(fā)人員能夠重用通用邏輯,同時(shí)仍保持獨(dú)特的層次結(jié)構(gòu)。OOP 的這一屬性強(qiáng)制進(jìn)行更徹底的數(shù)據(jù)分析,減少開發(fā)時(shí)間并確保更高的準(zhǔn)確性。
多態(tài)性。對(duì)象旨在共享行為,它們可以采用多種形式。該程序?qū)⒋_定從父類執(zhí)行該對(duì)象的每次執(zhí)行所需的含義或用法,從而減少重復(fù)代碼的需要。然后創(chuàng)建一個(gè)子類,它擴(kuò)展了父類的功能。多態(tài)性允許不同類型的對(duì)象通過同一個(gè)接口。
OOP 的好處包括:
模塊化。封裝使對(duì)象能夠自包含,使故障排除和協(xié)作開發(fā)更容易。
可重用性。代碼可以通過繼承重用,這意味著團(tuán)隊(duì)不必多次編寫相同的代碼。
生產(chǎn)率。程序員可以通過使用多個(gè)庫和可重用代碼更快地構(gòu)建新程序。
易于升級(jí)和擴(kuò)展。程序員可以獨(dú)立實(shí)現(xiàn)系統(tǒng)功能。
接口說明。由于用于對(duì)象通信的消息傳遞技術(shù),外部系統(tǒng)的描述很簡(jiǎn)單。
安全。使用封裝和抽象,隱藏了復(fù)雜的代碼,更容易維護(hù)軟件,保護(hù)互聯(lián)網(wǎng)協(xié)議。
靈活性。多態(tài)性使單個(gè)函數(shù)能夠適應(yīng)它所在的類。不同的對(duì)象也可以通過同一個(gè)接口。
通過上述介紹,相信大家對(duì)面向?qū)ο缶幊桃呀?jīng)有所了解,如果大家想了解更多相關(guān)知識(shí),可以關(guān)注一下動(dòng)力節(jié)點(diǎn)的Java教程,里面的課程由淺到深,通俗易懂,適合小白學(xué)習(xí),希望對(duì)大家能夠有所幫助。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)