物件導向再理解

2021-07-03 07:30:15 字數 1093 閱讀 7390

工作都兩年了,一直在用物件導向,可對物件導向的概念還是一直很模糊,沒有清晰深入的理解和認識,所以決定今天再整理複習一下。

物件導向的主要思想:類,物件,繼承,封裝,多型,抽象。其中繼承,封裝,多型,抽象為物件導向的四大特徵。(具體細節不講)

這些概念原來在面向過程中都是沒有的,這也是物件導向和面向過程的主要區別。

下面在知乎上收集了一些網友關於兩者區別的最簡單概括:

1.面向過程是一件事「該怎麼做「,物件導向是一件事「該讓誰來做」,然後那個「誰」就是物件,他要怎麼做是他自己的事,反正最後一群物件合力能把事做好就行了。

2.物件導向: 狗.吃(屎)

面向過程: 吃.(狗,屎)

3.面向過程強調的是「吃」,「人」只是乙個引數;物件導向強調的是「人」,「吃」只是乙個動作。

4.面向過程:

下雨了,我開啟了雨傘.

物件導向:

屬性:我 雨傘 雨

動作:我開啟雨傘

5.我的理解:

物件導向是把世界描繪成n個有主動性的「活物」之間的互動

面向過程是有乙個「上帝之手」通過制定一系列規則來操縱一堆「死物」

6.物件導向是由下至上,面向過程是由上至下。

這就帶來了物件導向的優缺點問題:

1、易維護

採用物件導向思想設計的結構,可讀性高,由於繼承的存在,即使改變需求,那麼維護也只是在區域性模組,所以維護起來是非常方便和較低成本的。

2、質量高

在設計時,可重用現有的,在以前的專案的領域中已被測試過的類使系統滿足業務需求並具有較高的質量。

3、效率高

在軟體開發時,根據設計的需要對現實世界的事物進行抽象,產生類。使用這樣的方法解決問題,接近於日常生活和自然的思考方式,勢必提高軟體開發的 效率和質量。

而且,面向過程中沒有類的概念,**無法重用,而物件導向中**是可以重用的,避免了重複造輪子,大大提高開發效率和維護性。

4、易擴充套件

由於繼承、封裝、多型的特性,自然設計出高內聚、低耦合的系統結構,使得系統更靈活、更容易擴充套件,而且成本較低。

物件導向再理解

最近在學習設計模式,就對物件導向部分的知識進行了一下總結,之前對很多知識不理解有些細節也沒有注意到,這次來說相對好一點,下次可能還會有新的理解。物件導向三大特性 封裝 繼承 多型 每個物件都包含它能進行操作所需要的所有資訊,物件不必依賴其他物件來完成自己的操作。優點 1 解耦合 2 類內部可以自由修...

理解物件導向

三個基本特徵 封裝,繼承,多型 封裝 將物件的實現細節隱藏起來,然後通過一些公用方法來暴露該物件的功能 使用訪問控制符 private default protected public private 當前類訪問許可權 default 包訪問許可權 protected 包 子類 public 公共訪...

理解物件導向

要理解物件導向。則要知道類和物件的關係。類是具備某些共同特徵的實體的集合 把資料和對資料的操作方法放到一起,相互依存的集合就叫做物件。物件的抽象是類,類的具體化就是物件,也可以說類的例項是物件。比如在現實世界中,人類就是乙個類,具體到實體的某乙個人,這個人就是人類這個類中具體化的乙個物件。而這個人的...