物件導向思想的三種通俗解釋

2021-08-04 13:41:35 字數 859 閱讀 9850

1.

假如你去洗澡,你可能是這麼考慮的,首先進入浴室,然後開啟水龍頭沖洗,

最後用浴巾擦乾身子,等等一系列過程,叫做面向過程。你用面向過程解決了洗澡這個問題。

那麼看物件導向是如何思考的,你是乙個物件,浴室、水龍頭浴巾等也是物件,

你首先傳送訊息給浴室,傳遞力的引數給浴室的門,ok,門開啟了,你然後再傳遞訊息給水龍頭,

水龍頭響應訊息,放水,最後你傳送訊息給浴巾,浴巾呼叫吸水的方法幫你擦乾了身子。ok,

你用物件導向的思想完成了洗澡這個問題。

2.在一些簡單的邏輯上,確實是面向過程更加簡單一點,但是當你面對是一系列複雜的模組和功能的時候,

各司其職的物件導向思想變會將很多複雜的邏輯簡單化。

舉乙個這樣的例子,想象這樣乙個場景,你的面前有無數根糾纏在一起的管子,這些管子的用途各不一

樣,面向過程的思想,就是你需要親自的把管子的頭和尾搞清楚,以對應上相應的功能;而物件導向的

思想,則是讓這些管子自己從管子的頭部輸入,尾部輸出,而不需要程式設計者自己了解所有的管子的作用.

如果是只有乙個管子的話,面向過程是很簡單的,物件導向則需要做很多前期處理才能達到目的。

所以物件導向和面向過程其實沒有簡單的優劣之分,只是適用場合的區別。

3.來讓我用最通俗的話來告訴你!為什麼要發明物件導向程式設計?

原因很簡單,就是為了適應變化,我們的程式設計祖先們曾經在開發大型專案時,在改需求的時候自殺了好幾批人

你拿著自己開發遊戲,每做一步就想,這裡假如產生了變化會怎樣,這裡假如要新增個功能會不會很麻煩?

為了解決這些問題,所以就有了物件導向思想:封裝,繼承,多型;

其實用了那麼多抽象的東西,為的就是解決乙個問題,專案要能做到輕鬆變化。今天三角形,明天正方形,後天,菱形

資料結構 C 物件導向思想完成三種排序

sort類 主要邏輯 using system using system.collections.generic using system.linq using system.text using system.threading.tasks namespace selection int temp...

物件導向程式設計思想 直譯器模式

一 引言 我們常常在會在字串中搜尋匹配字元或判斷乙個字串是否符合我們要的格式時,使用正規表示式,可解決問題的背後是一種什麼思想呢?即我們今天要學習的內容,直譯器模式 二 直譯器模式 定義 給定乙個語言,定義它的文法的一種表示,並定義乙個直譯器,這個直譯器使用該表示來解釋語言中的句子 1.文法 即語法...

物件導向思想的三大特徵

封裝性 繼承性 多型性 二 繼承性 問題 為什麼有繼承這個概念?例如我們建立乙個學生類 student 教師類 teacher 家長類 parent 這三個類中都會有的屬性 姓名 年齡 性別等等 這三個類中都會有的方法有 走路 吃飯 睡覺等等。如果建立完成這三個類,那麼這些重複的屬性和方法就會重複,...