什麼是物件導向 OOP

2022-09-05 05:39:11 字數 1227 閱讀 4428

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

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

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

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

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

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

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

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

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

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

面向過程:

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

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

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

缺點:效能比面向過程差

物件導向的三大特性:

1、封裝

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

2、繼承

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

3、多型

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

五大基本原則:

1、抽象會使複雜的問題更加簡單化。

2、從以前面向過程的執行者,變成了張張嘴的指揮者。

3、物件導向更符合人類的思維,面向過程則是機器的思想

oop物件導向

首先是定義 什麼是物件 物件就是屬性的無序集合,每個屬性存放乙個 原始值or物件or函式 既然是屬性的無序集合,那麼屬性的含義顧名思義,那麼屬性是什麼 屬性就是乙個個的鍵值對.也就是 屬性名 屬性 一分為二,首先是屬性名 什麼可以做屬性名,既然屬性的名字,所以我們一般是用字串來命名的,當然,如果自己...

OOP 物件導向

oop思想 接觸到任意乙個任務,首先想到的是這個人物的構成,是由模型構成的 幾個名詞 oo 物件導向 ooa 物件導向的分析 ood 物件導向的設計 ooi 物件導向的實現 oop 物件導向的程式設計 ooa ood ooi 物件導向的實現過程 類和物件的概念 類 抽象名詞,代表乙個集合,共性的事物...

物件導向 oop

物件導向的核心 類 物件 需要有意義的物件導向的 不是有了類就是物件導向 例項化的方法 設計層面 函式 程式運形,過程式一種稱謂 物件 物件是現實世界或者思維世界中的實體在計算機中的反映,它將資料以及這些資料上的操作封裝在一起 類 一類事物的統稱,物件是類具體化的產物,也就是例項化 不同的物件有什麼...