python是一門神奇的語言,看了看裡面一些關於物件導向的描述。覺得挺受啟發的,在c++中同樣適用。主要觀點出自magnus lie hetland的《python基礎教程》。
1 將屬於一類的物件放在一起。如果乙個函式操縱乙個全域性變數,那麼兩者最好都在類內作為特性和方法出現。
2 不要讓物件過於親密。方法應該只關心自己例項的特性。讓其他例項管理自己的狀態。
3 要小心繼承,尤其多重繼承。繼承機制很有用,但也會在某些情況下讓事情變得過於複雜。尤其多重繼承,更難以除錯。
4 簡單就好。讓你的方法小巧。一般來說,多數方法都應該在30秒內讀完,盡量將**行數控制在一頁或一屏之內。
當考慮需要什麼類以及什麼方法時,應嘗試下面的方法。
(1)寫下問題的描述(程式要做什麼),把所有名詞、動詞和形容詞加下劃線。
(2)對於所有名詞,用作可能的類。
(3)對於所有動詞,用作可能的方法。
(4)對於所有的形容詞,用作可能的特性。
(5)把所有方法和特性分配到類。
現在已經有了物件導向模型的草圖了。還可以考慮類和物件之間的關係以及他們的作用,可以使用以下步驟精煉模型:
(1)寫下一系列的使用例項,也就是的程式應用時的場景,試著包括所有的功能。
(2)一步步考慮每個使用例項,保證模型包括所有需要的東西。如果有些遺漏的話就新增進來。如果某處不太正確則改進。繼續,直到滿意為止。
但認為已經有了可以應用的模型時,那就可以開工了。
關於物件導向的一些思考
物件導向方法被人談論了二十多年了。我接觸它比較晚,直到九十年代中期才開始學習使用它。若說對這個方法做些評價,那還真是大言不慚了。不過這麼些年來,也週期性的對物件導向做些思考。或對或錯,我想都值得總結一下。一家之言,來看的同學不必太當真。首先我們要區分一下 基於物件 和 物件導向 的區別。基於物件,通...
對物件導向的一些思考
到底什麼是物件導向,再討論這個問題之前我們先來假設一下如果不用物件導向用過程試程式設計來想象一下是什麼樣子的。過程試的程式設計很好理解,我們再乙個main方法中從頭到尾一行一行的寫 同時定義多個變數來完成我們的邏輯。後來高階一點的程式設計師會抽取一些共有功能,定義乙個函式。再 任何地方,我們都可以使...
關於物件導向的一些想法
這兩天在寫程式,一直在想模組之間的資訊交流到底用什麼方式,gui中接收到的資料如何才能和邏輯層中的業務進行交流,一開始我使用的是字串,感覺這種方式很不好,於是開始考慮使用物件來傳遞訊息。使用字串是一開始程式設計的時候很容易想到的,很直觀簡單,可是使用的時候就不是這個樣子了,使用字串的話,模組之間的耦...