物件導向程式設計的第一步,就是在問題領域中識別出有效的物件,然後從識別出的物件中抽象出類來。面對紛繁複雜的現實問題,往往存在多種物件劃分的方式,而不同的劃分會帶來類的設計以至於程式結構的各種不同。物件劃分有一些理論,但是不是這門物件導向的入門課程能覆蓋的。而且目前的理論也還不是放諸四海皆準的簡單操作指南。我們舉了乙個數字鐘的例子,希望通過這個例子表明物件劃分的重要性,給你乙個感性認識。在今後面對實際的問題領域時,可以試試用這裡提到的概念來做物件的劃分和類的設計。但是這只是乙個例子,遇到具體情況一定是具體分析,按照問題領域的實際情況來做。
乙個物件當然可以由其他類的物件來組成,就像乙個人體裡面有心臟、腸胃一樣。物件是由其他物件組成的,而類定義了這樣的組合關係。
那麼下乙個問題,就是當乙個物件裡有多個物件的時候,那些物件之間是如何互動的,物件和物件之間的聯絡是如何建立的,物件如何和其他物件交流。物件和物件之間的聯絡緊密程度叫做耦合。物件和物件的耦合程度越緊,表現在源**上,就是它們的**是互相依賴、互相牽制的。我們理想的模型,是物件和物件之間的耦合要盡可能的松,平行的物件要儘量減少直接聯絡,讓更高層次的物件來提供通訊服務。這些就是在我們這個非常簡單的數字鐘的例子中所體現的。
要實現乙個數字鐘非常簡單,如果只是實現功能,入門課程裡的乙個迴圈就可以了。這裡所體現的,是更深層次的物件導向設計的理念。
如:11:30 這樣的時鐘, 可以識別出物件分為 「小時」物件和「分鐘」物件,(在問題領域中識別出有效的物件),然後設計乙個類來構造這兩個物件,乙個表達「小時」物件和乙個表達「分鐘」物件(從識別出的物件中抽象出類來), 由此可以我們可以建立乙個display類,類中包含了兩個物件都有的屬性 value值(當前值)和limit值(上限);初始化上限值的建構函式(方法),以及獲取當前值的函式(方法)
將需求裡的名詞畫出來名詞就是可能的類或屬性,動詞可能是方法,然後優化設計(關係),根據設計畫類圖![在這裡插入描述]
物件導向程式設計的分析基本步驟
1 分析專案中有哪些類 或物件 參與程式。分析結果 物件選擇的標準 第一,這個物件的確能參與程式的執行。第二,這個物件有物件的基本特徵。試題類 包括題幹 選項 答案。經過分析答案還應該有乙個獨立的物件 答案類 包括正確答案 答案分析 所選答案。答案和試題是關聯的 邊界類 專案主介面 負責和使用者互動...
面向過程程式設計和物件導向程式設計的步驟 特性與區別?
分析出解決問題所需要的步驟,然後用函式把這些步驟一步步實現,使用的時候再乙個個的依次呼叫即可。優點 效能高 缺點 相較於物件導向而言,不易維護,不易復用,不易擴充套件 適合於小型的專案 把事務分解成為乙個個物件,然後由物件之間分工與合作。優點 易維護,易復用,易擴充套件,低耦合,系統更加靈活 有三大...
c 物件導向程式設計 物件導向
什麼是物件導向 是對現實世界理解和抽象的方法。物件導向程式設計的特點 易維護,易擴充套件,靈活性好,重用 類 對事物的抽象定義,即事物具有的共同特徵和行為。物件 即對類進行例項 類是抽象的,物件是具體的 類的定義 語法 訪問修飾符 class 類名類的成員 包括字段,屬性,方法,常量,事件和索引器等...