什麼是物件導向?你真的理解了嗎?
可能大家聽過很多關於物件導向的描述,各種各樣的,很抽象很難以理解,物件導向其實並不複雜,每乙個人的物件導向都是不同的。
我先來說說我對面向過程以及物件導向的理解:
面向過程:關注點在於做了什麼,描述的是發展的過程
物件導向:關注點在於能做什麼,描述的是物件與物件之間的關係。
那麼什麼物件到底是什麼呢?下面我來舉乙個簡單的例子:小明要去吃飯,把這句話用**翻譯。
我們來看看用物件導向的思維該怎麼去分析這段話,這句話可以抽象成誰幹什麼,這句話可以抽象出兩個大的類,乙個是person(誰),乙個是action(行為)
ok,我們看看應該person能做什麼呢?person能夠執行行為。
行為能夠做什麼呢?行為發生前的動作,發生時的動作,發生後的動作。
我們來看看**表述:
//抽象出行為介面,方便拓展行為,定義了行為模板,行為發生前,發生時,發生後
public
inte***ce
action
//通過行為介面派生出吃飯類
public
class
eatimplements
action
public
void
afteraction()
public
void
doaction()
}//person持有行為引用,實現了行為介面(描述的是物件與物件之間的關係),把需要執行的行為委派給action去做
public
class
person
implements
action
public
person(string name,action action)
public
person(action action)
public
person(string name)
public
void
preaction()
}public
void
afteraction()
}public
void
doaction()
}public action getaction()
public
void
setaction(action action)
public string getname()
public
void
setname(string name)
@override
public string tostring() ';
}}//測試
public
class
main
}結果:準備吃飯
這還是初步的描述,還可以對其進行優化,比如說:
吃什麼,在哪兒吃,可以抽象出food,place,然後在eat類裡面持有其引用。
比如說,person可能不止一種行為,可以用乙個list集合來持有多個action。等等
通過這個例子,我們應該可以看出什麼是物件,物件之間的關係應該如何去描述。
通過物件導向,我們可以在開發的時候,不必去關注實現細節,先對整體做出規劃,多個模組同時進行開發,最後通過模組之間的相互引用來整合整個系統。
什麼是面向過程?什麼是物件導向?
論語 述而 舉一隅,不以三隅反,則不復也。簡單來說就是舉一反三,我們知道計算機大神會許多種程式語言,對於一門新的語言他們只要乙個月或者幾個星期就可以精通。而對於我們這種程式設計的初學者學會一門語言都感覺好難,更別說精通了。其實主要還是我們的方法不對會接,我們沒有一種程式設計的思維所以我們學起來比較困...
什麼是物件導向
什麼是物件導向 物件導向,就是,思考問題的方法,以物件為主體,眼睛看什麼都是物件 說 物件 其實還是不好懂,因為這個概念是直接從英文翻譯過來的 對中國人也許說,面向東西,面向物體 抽象的物體 面向事物,之類的翻譯或許更好理解 為什麼說是物件導向呢,是為了和 面向過程 相對以前 物件導向 的程式概念等...
什麼是物件導向?
物件導向程式設計 基本定義 物件 object 一切客觀實體的抽象,即將現實世界中的事物抽象成物件 類 class 定義了一件事物的抽象特點。如 狗 是乙個類,它包含狗的一切特徵和行為,是乙個模板 物件 object 是類的例項。如 名叫pyton的臘腸狗 物件導向的起源 1.以c為例他是結構化的語...