什麼是物件導向

2021-10-21 20:15:58 字數 1316 閱讀 3995

很早很早以前的程式設計是面向過程的,比如實現乙個算術運算1+1 = 2,通過這個簡單的演算法就可以解決問題。但是隨著時代的進步,人們不滿足現有的演算法了,因為問題越來越複雜,不是1+1那麼單純了,比如乙個班級的學生的資料分析,這樣就有了物件這個概念,一切事物皆物件。將現實的事物抽象出來,注意抽象這個詞是重點啊,把現實生活的事物以及關係,抽象成類,通過繼承,實現,組合的方式把萬事萬物都給容納了。實現了對現實世界的抽象和數學建模。這是一次飛躍性的進步。

舉個最簡單點的例子來區分面向過程和物件導向

有一天你想吃魚香肉絲了,怎麼辦呢?你有兩個選擇

1、自己買材料,肉,魚香肉絲調料,蒜薹,胡蘿蔔等等然後切菜切肉,開炒,盛到盤子裡。

2、去飯店,張開嘴:老闆!來乙份魚香肉絲!

看出來區別了嗎?1是面向過程,2是物件導向。

物件導向有什麼優勢呢?首先你不需要知道魚香肉絲是怎麼做的,降低了耦合性。如果你突然不想吃魚香肉絲了,想吃洛陽白菜,對於1你可能不太容易了,還需要重新買菜,買調料什麼的。對於2,太容易了,大喊:老闆!那個魚香肉絲換成洛陽白菜吧,提高了可維護性。總的來說就是降低耦合,提高維護性!

面向過程是具體化的,流程化的,解決乙個問題,你需要一步一步的分析,一步一步的實現。

物件導向是模型化的,你只需抽象出乙個類,這是乙個封閉的盒子,在這裡你擁有資料也擁有解決問題的方法。需要什麼功能直接使用就可以了,不必去一步一步的實現,至於這個功能是如何實現的,管我們什麼事?我們會用就可以了。

物件導向的底層其實還是面向過程,把面向過程抽象成類,然後封裝,方便我們使用的就是物件導向了。

面向過程

優點:效能比物件導向好,因為類呼叫時需要例項化,開銷比較大,比較消耗資源。

缺點:不易維護、不易復用、不易擴充套件

物件導向

優點:易維護、易復用、易擴充套件,由於物件導向有封裝、繼承、多型性的特性,可以設計出低耦合的系統,使系統 更加靈活、更加易於維護

缺點:效能比面向過程差

1、封裝

隱藏物件的屬性和實現細節,僅對外提供公共訪問方式,將變化隔離,便於使用,提高復用性和安全性。

2、繼承

提高**復用性;繼承是多型的前提。

3、多型

父類或介面定義的引用變數可以指向子類或具體實現類的例項物件。提高了程式的拓展性。

什麼是面向過程?什麼是物件導向?

論語 述而 舉一隅,不以三隅反,則不復也。簡單來說就是舉一反三,我們知道計算機大神會許多種程式語言,對於一門新的語言他們只要乙個月或者幾個星期就可以精通。而對於我們這種程式設計的初學者學會一門語言都感覺好難,更別說精通了。其實主要還是我們的方法不對會接,我們沒有一種程式設計的思維所以我們學起來比較困...

什麼是物件導向

什麼是物件導向 物件導向,就是,思考問題的方法,以物件為主體,眼睛看什麼都是物件 說 物件 其實還是不好懂,因為這個概念是直接從英文翻譯過來的 對中國人也許說,面向東西,面向物體 抽象的物體 面向事物,之類的翻譯或許更好理解 為什麼說是物件導向呢,是為了和 面向過程 相對以前 物件導向 的程式概念等...

什麼是物件導向?

物件導向程式設計 基本定義 物件 object 一切客觀實體的抽象,即將現實世界中的事物抽象成物件 類 class 定義了一件事物的抽象特點。如 狗 是乙個類,它包含狗的一切特徵和行為,是乙個模板 物件 object 是類的例項。如 名叫pyton的臘腸狗 物件導向的起源 1.以c為例他是結構化的語...