在學習面向對象程式語言時很多人都是被什麼是對象這個神一樣的概念給打敗的。被打敗後從此就開始過得渾渾噩噩了,聽課學習時都是迷迷糊糊地,開始變得像聽天書一樣,從而興趣一落千丈,慢慢被「程序猿」給淘汰。
在所有的教材中或是教程中都是把一個很簡單對對象解釋搞得特別高大上。我在上學時,學習什麼是對象的時候我的老師就告訴我「萬物皆對象」。到了現在還有很對人在用這句話來解釋。當時我的老師說完"萬物皆對象"時,我一下就愣在那了,腦子就一片空白,當時的我就想難道同學也是我的對象?路人也是我的對象?老師也是我的對象?咦~不敢再想了,畫面有點……
再後來就帶著這個疑問工作了,哎~!雖然代碼寫的沒有問題,但是始終不明白對象是什麼意思,開發時可謂是困難重重啊~!終於有一天在一次的哦然機會給手下員工講解項目需求時,突然明白什麼是對象了,心裡頓時豁然開朗啊~!哈哈!好了其他的廢話我也不多說了,現在進入正題,來認識一下程序中的對象到底是一個什麼樣的神秘東東吧。
其實對象的意思不是現實生活中的男女朋友,嚯嚯~!我們要理解對象的概念要先來理解一下編程裡另一個概念--類(class),在現實生活中的一切物品、時間、動物、人物都是通過分類來劃分的。如:人類、鳥類、魚類。
那麼這些現實生活中的分類在程序中怎麼表達呢?在程序中就是通過使用關鍵字class來創建一個類的。
class People //這樣就是創建了一個名為「人」的類
{
}
這樣就把現實中的分類通過編程的形式虛擬到了程序中,接下來就到了對象這個概念了。這裡還拿人類進行舉例,我們每一個人在現實生活中都是隸屬在人類這個分類中的,我們每個人都是一個獨立的個體,獨立的個體有名字,有年齡,有身高等等,這個獨立的個體就是一個個對象---說到這裡就回到了很多老師講的萬物皆對象上了。那麼怎麼用編程的方式來表達對象呢?
我們來看下面的例子:
//先創建人這個類
public class People
{
//編寫類的的屬性,用來描述每個對象的特徵
public string Name{get;set;}//姓名
public string Sex{get;set;}//性別
public int Age{get;set;}//年齡
}
class Make //創建一個用來造人的類
{
void MakePeole()//創建一個用於造人的方法
{
//注意重點來了
People ple=new People();//使用new關鍵字來創造人類對象,這裡ple的就是一個獨立個體,就是對象
ple.Name="姜子牙";//這人叫姜子牙
ple.Sex="男"; //是個男的
ple.Age=1000; //1000歲了
//上邊就是把現實中的對象通過代碼在程序裡虛擬的過程。
}
}
通過上面的例子,我們可以舉一反三,來創建鳥類、魚類等等其他類的對象。