首先物件導向有三大基本特性即封裝、繼承以及多型。封裝即是把客觀事物抽象成類,該類中含有屬性與方法。繼承則是復用原有的類,並能在原有類的基礎上進行擴充套件。多型則是父類在不同時刻以其不同子類的形態出現。物件導向想要達到的目的即是可擴充套件、易維護、可復用、靈活性好。
舉乙個例子來說明,比如我要修一台電腦,大家都知道電腦由主機板、硬碟、記憶體、cpu等組成,實際上你可以把它們理解為相互分離的物件,它們之間依靠資料線(我們可以稱之為介面)進行連線,從而達到了強內聚、松耦合的特性。現在主機板壞了只需要維修主機板,硬碟壞了只需要更換硬碟,而與其他元件無關。再必須現在你要修一台收音機,收音機採用的是鏈路板模式將眾多元件焊接在一起,如同面向過程中發條式的**。一旦出問題則需要對整個系統進行排查,一旦遇到困難問題,則整個系統都將廢棄,發條式**的弊端顯露了出來。
面對發條式的**,你可能會覺得它即實現了功能又簡單明瞭,何樂而不為?但實際上此處的簡單僅是業務上的簡單,它所能解決得問題就只能是當前的乙個問題。其維護與擴充套件困難,復用更無可能。而物件導向指在建立一種通用的解決辦法,雖加深了業務複雜度,但其效果是顯著的。中國的四大發明中有活字印刷術,它將每乙個字都封裝起來,方便擴充套件與復用,更加靈活的應對需求的變化。而活字印刷相比於印刷術並沒有實質的創新。為什麼活字硬刷術成為了四大發明之一。實則是因為思想的進步,而物件導向就是思想的進步。
談談你對物件導向的理解?
原文 所謂的物件導向就是將我們的程式模組化,物件化,把具體事物的特性屬性和通過這些屬性來實現一些動作的具體方法放到乙個類裡面,這就是 封裝。封裝是我們所說的面相物件程式設計的特徵之一。除此之外還有繼承和多型。繼承有點類似與我們生物學上的遺傳,就是子類的一些特徵是 於父類的,兒子遺傳了父親或母親的一些...
談談對物件導向思想的理解
這個問題,通常會讓很多人有點不知所措,感覺我一直在編碼,但是說到思想很難去闡述。下面,我說說自己的想法,首先,談談 面向過程 vs 物件導向 所以,物件導向的思維更多的是考慮如何去選擇合適的工具,然後組織到一起幹一件事。好比乙個導演,要拍一場電影,那麼首先要有男豬腳和女豬腳,然後還有其他等等,最後把...
談談你對物件導向的理解
物件導向是向現實世界模型的自然延伸,這是一種 萬物皆物件 的程式設計思想。在現實生活中的任何物體都可以歸為一類事物,而每乙個個體都是一類事物的例項。物件導向的程式設計是以物件為中心,以訊息為驅動,所以程式 物件 訊息。物件導向有三大特性,封裝 繼承和多型。封裝就是將一類事物的屬性和行為抽象成乙個類,...