在本節(jié)中,我們將了解面向?qū)ο?OOP)的基礎(chǔ)知識。 面向?qū)ο缶幊讨皇且粋€模式,它提供許多概念,如繼承,數(shù)據(jù)綁定,多態(tài)等等。
Simula
是第一種面向?qū)ο蟮木幊陶Z言。而一切都可表示為對象的編程模式被稱為真正的面向?qū)ο蟮木幊陶Z言。
Smalltalk
是第一個真正的面向?qū)ο蟮木幊陶Z言。
對象意味著真實的單詞實體,如:筆,椅子,表等。面向?qū)ο缶幊淌且环N使用類和對象來設(shè)計程序的方法或模式。 它通過提供一些概念簡化了軟件開發(fā)和維護(hù):
任何具有狀態(tài)和行為的實體都稱為對象。 例如:椅子,鋼筆,桌子,鍵盤,自行車等。它可以是物理和邏輯的。
對象的集合稱為類。 它是一個邏輯實體。
當(dāng)一個對象獲取父對象的所有屬性和行為,稱為繼承。 它提供代碼可重用性。 它用于實現(xiàn)運行時多態(tài)性。
當(dāng)一個任務(wù)通過不同的方式執(zhí)行時,稱為多態(tài)性。 例如:以不同的方式說服客戶,畫一些東西,如:形狀或矩形等。
在java中,我們使用方法重載和方法重寫來實現(xiàn)多態(tài)性。
另一個例子可以是說話,同是說話,人說話,貓說話和狗說話等,說話的方式都不太一樣。
隱藏內(nèi)部細(xì)節(jié)和顯示功能稱為抽象。 例如:電話,但我們不知道內(nèi)部是如何處理通話/通信的。
將代碼和數(shù)據(jù)綁定(或包裝)在一起成為單個單元稱為封裝。 例如:膠囊,它包裹著不同的藥物。
一個java類是封裝的例子。 Java bean是完全封裝的類,因為所有的數(shù)據(jù)成員在這里是私有的。
OOP使開發(fā)和維護(hù)變得更容易,因為在面向過程的編程語言中,如果代碼隨著項目規(guī)模的增長而增長,則不容易管理。
OOP提供數(shù)據(jù)隱藏,而在面向過程的編程語言中,可以從任何地方訪問全局?jǐn)?shù)據(jù)。
OOP提供更有效地模擬真實世界事件的能力。 如果使用面向?qū)ο蟮木幊陶Z言,我們可以提供真實世界里的問題的解決方案。
除了繼承,基于對象的編程語言遵循OOP的所有功能。JavaScript和VBScript是基于對象的編程語言。