物件導向的一次思考

2022-07-15 19:12:14 字數 1359 閱讀 9514

客觀上來說,程式設計師很缺「物件」,哈哈。

言歸正傳,什麼是物件導向?物件是什麼呢?

物件,也可以被稱為乙個存在的實體,他擁有自己特有的屬性和行為,比如你自身,就是乙個物件 ,比如你眼前的這個電腦,灰塵,細菌,原子….

物件不論大小,不受困於空間,他是客觀存在的,具有物質性。

現實世界是由無數個基本粒子組成的,**的世界是由無數個物件組成的,只要能被看作乙個單獨的個體,它就能被看作乙個物件。

物件導向起源於計算機,但這種思想已經超脫於計算機,以前我們分析乙個問題是去分析乙個問題的具體流程與前後因果,但這種思維的侷限性在於複雜,乙個複雜的問題它的邏輯很長。於是,我們就想著如何能將乙個問題簡化,我們想:

既然問題裡他們才是主角,為什麼不能讓他們解決問題?物件導向思想這樣起源。

我們來看這樣乙個題目:

有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第3個月後每個月又生一對兔子,假如兔子都不死,易知第乙個月為1對,第二個月為1對,三個月為2對,第四個月為3對,.第四個月為5對,設x個月的兔子總數為n對,求出n。

思路一:

找到其中的數學關係,n表示月份,t(n)表示兔子數量;

t(n)=t(n-1)+t(n-2);

這是一道斐波那契的典型例題,但你可能一開始並沒有發現這個關係。

思路二:

把每對兔子當作乙個物件。每個物件都有乙個方法:每長到第三個月及以上,就生一對兔子。

每對兔子之間是獨立的,這樣我們只需要乙個迴圈得到答案。

private

int month;

public

rab()

public rab grow()

else

return

null;

}

比較兩個思路:思路二在思維上更顯簡單順暢,這也是物件導向考慮的一種形式,思路一則需要動動腦子。

為什麼思路二比思路一來的更加自然簡單?

當我們把兔子看作物件,它有了自己的屬性(month)和方法(grow),於此,在解決問題時,我們只需要根據問題要求準確呼叫它的方法,而這些都是顯而易見不需要你去推測的,彷彿他們就是乙個個可以獨立的物種,你就是製作規則的上帝,他們只需要按照規則進行演變即可,最終你就能得到答案——問題要求是規則,問題客體是物件,物件遵循規則演變,問題得到解決,這就是物件導向解決問題的思路。

這樣看來,其實上帝就是乙個偉大的coder,他建立了人,山川········這些個類,世間萬事萬物都是獨立的物件,上帝從來不告訴你該怎麼做,因為你自己知道該怎麼做,上帝唯一要做的只有制定規則,我們遵循規則,或許這就是自然的演變。

或許,以後的以後,**世界的物件也可以發生變異,天方夜譚也會是不久後的現實。

物件導向第一次作業

1.編寫程式,從鍵盤輸入三個值,並列印其和 平均數 積 最小值和最大值。2.編寫乙個程式,計算0到10的平方和立方,並用製表符 t 列印值 3.編寫乙個程式,讀取五位整數並確定其是否為回文 4.peter minuit問題 1626年,荷屬美洲新尼德蘭省總督peter minuit花了大約24美元的...

物件導向第一次實驗

實驗一 類與結構 1 實驗目的 了解和使用 vc 的整合開發環境。熟悉 vc 整合開發環境的基本編輯命令及功能鍵 學會常規視窗操作。熟悉常用功能選單命令。學習完整的 c 程式開發過程 編輯 編譯 連線 除錯 執行及檢視結果 理解簡單的 c 程式結構。通過實驗理解類與結構的區別,掌握類的定義,了解使用...

第一次總結(物件導向)

一 類與物件的解析 物件是指有實體,真實存在的事物 類是指滿足或具有某些條件但 不客觀存在的事物。二 如何建立類,如何建立物件,如何呼叫屬性和方法 public class jianke 建立類 public string jianke 建立屬性 public void shuajian 建立方法 ...