1. 程式人生 > >面向物件的課程設計結束感想

面向物件的課程設計結束感想

這次為期兩週的課程設計終於接近尾聲,在同學和老師的幫助我下完成了這次的課程設計的題目,而我也在這次的課程設計中獲益匪淺。

   面向物件的思想是程式設計界的基本指導思想之一,它能夠讓程式設計人員採用一種接近真實世界的方式來設計程式,而不僅僅是考慮需要處理的資料和功能實現。這樣我們就可以將程式中所需操作的物件抽象成類,並按照我們的需要來為它設定屬性和方法,程式中的資料交換可以抽象為物件之間的交流,這樣的思想隱藏了大量的細節,使得我們可以迅速的構建出程式的框架,實現快速開發。基於物件的程式擴充套件性也很強,具有十分優秀的可維護性。

   本次課程設計,我的題目是貨物管理系統,我認為面向物件程式設計最複雜的是如何有效的將類抽象出來,高效的抽象類可以減少大量時間,並增強程式的嚴密性,層次分明的繼承則可以增加程式碼的重複利用率。

   同時,c++提供的很多高效工具也讓程式開發變得簡單許多,例如函式的過載,操作符過載,多型和抽象基類。函式過載和操作符過載可以使程式變得直觀易懂,便於後期除錯和維護。抽象基類則限制了唯一的介面方式,大大增加了後期擴充套件的效能,並將出錯的結果放在編譯期,更有利於排錯。

   紙上得來終覺淺,唯覺此事要恭行。面向物件的程式設計課程為期一學期,在一個學期內,我們接觸完了基本的c++和麵向物件思想,本來信心滿滿的面對課程設計,但動手時才發現自己還是剛剛入門而已,不管是c++的基本語法,還是面向物件的一些思想,都理解的非常不透徹,造成了程式設計過程中走了很多彎路,但是完成後發現這是一個非常好的學習經歷,一學期的理論知識的積累加上期末課程設計的鞏固,使得我們得以窺探到c++的廣袤和麵向物件程式設計的博大精深。

   最後,雖然程式已經完成,符合預期的要求,但還遠遠不能滿足,我的程式在魯棒性,可擴充套件性,高效性,豐富性,安全性等五個方面基本上遠遠沒有達到要求,bug會在意想不到的時候突然出來,擴充套件性不好,不能很快的被人讀懂,效能方面也不夠高效,本來這個題目我們還可以增廣出更多有用的功能,但是由於時間所迫,我們沒有編寫,存在以上種種不足,還需我們繼續學習彌補。



相關推薦

面向物件課程設計結束感想

這次為期兩週的課程設計終於接近尾聲,在同學和老師的幫助我下完成了這次的課程設計的題目,而我也在這次的課程設計中獲益匪淺。    面向物件的思想是程式設計界的基本指導思想之一,它能夠讓程式設計人員採用一種接近真實世界的方式來設計程式,而不僅僅是考慮需要處理的資料和功能實現。這

javascript面向物件程式設計--設計超類和子類,設計元類

在javascript中,Object物件是通用類,其他所有內建物件和自定義構造物件都是專用類,即Object物件是超類,其他內建物件和自定義物件都是Object的子類,所有在javascript語言中,所有的物件都繼承Object定義的屬性和方法 Object.prototype.name='

第2章 面向物件設計原則(SOLID):6_開閉原則

6. 開閉原則(Open Closed Principle,OCP) 6.1 定義 (1)一個類應該對擴充套件開放,對修改關閉。要求通過擴充套件來實現變化,而且是在不修改己有的程式碼情況下進行擴充套件,也不必改動己有的原始碼或二進位制程式碼。 (2)在軟體生命週期內,變化是一個既定的事實

第2章 面向物件設計原則(SOLID):5_迪米特法則

5. 迪米特法則(Law of Demeter,LoD) 5.1 定義 (1)應儘量減少其他物件之間的互動,物件只和自己的朋友交談,即對其他依賴的類越少越好(不要和太多的類發生關係)。 (2)儘量不要讓類和類之間建立直接的關係,這樣可減少類與類之間的依賴,降低類之間的耦合。 (3)一

第2章 面向物件設計原則(SOLID):4_介面隔離原則(ISP)

4. 介面隔離原則(Interface Segregation Principle,ISP) 4.1 定義 (1)使用多個專門的介面,而不使用單一的總介面,即客戶端不應該依賴那些它不需要的介面。類間的依賴關係應該建立在最小介面上 (2)介面儘量細化,同時介面中的方法儘量少。每個介面中只包

第2章 面向物件設計原則(SOLID):3_依賴倒置原則(DIP)

3. 依賴倒置原則(Dependence Inversion Principle,DIP) 3.1 定義 (1)要依賴抽象,不要依賴具體的實現類。簡單的說就是對抽象(或介面)進行程式設計,不要依賴實現進行程式設計,這樣就降低了客戶與實現模組間的耦合。包含3層含義:   ①高層模組不應依賴

第2章 面向物件設計原則(SOLID):2_里氏替換原則(LSP)

2. 里氏替換原則(Liskov Substitution Principle,LSP) 2.1 定義 (1)所有使用基類的地方必須能透明地使用子類替換,而程式的行為沒有任何變化(不會產生執行結果錯誤或異常)。只有這樣,父類才能被真正複用,而且子類也能夠在父類的基礎上增加新的行為。也只有這樣

第2章 面向物件設計原則(SOLID):1_單一職責原則(SRP)

1. 單一職責原則(Single Responsibility Principle,SRP) 1.1 單一職責的定義 (1)定義:一個類應該僅有一個引起它變化的原因。這裡變化的原因就是所說的“職責”。 (2)如果一個類有多個引起它變化的原因,也就意味著這個類有多個職責。即把多個職責耦合在

初探PHP面向物件設計模式-策略模式

1. 什麼是策略模式 簡單的講就是實現一個問題的多種方法就是策略設計模式,我們在開發微信公眾號時,有一組被動接收微信訊息的介面(例如:普通文字訊息、關注事件訊息、取消關注事件訊息……),針對不同的訊息有多種處理方式,有處理文字有處理關注事件的等等我們使用的邏輯演算法都不一樣,當然啦業

python的面向物件以及面向物件設計

# 在程式中:務必保證先定義類,後產生物件 # #程式中類的用法 # .:專門用來訪問屬性,本質操作的就是__dict__ # OldboyStudent.school #等於經典類的操作OldboyStudent.__dict__['school'] # OldboyStu

第一節 面向物件設計原則

python與Java不同 python支援多重繼承。 面向物件的設計原則: 開閉原則 :      類或物件及其方法對於擴充套件來說應該是開放的  但是對於修改來說應該是封閉的 優點: 現有的類不會被修改  因此退化的可能性較小 它還有助於保持以前程式碼的向後相容

java8實戰-使用Lambda重構面向物件設計模式

策略模式 //面向物件模式 public interface ValidationStrategy { boolean execute(String s); } public class IsAllLowerCase implements ValidationStr

面向物件設計原則

1、單一職責原則        •其實就是開發人員經常說的”高內聚,低耦合”        •也就是說,每個類應該只有一個職責,對外只能提供一種功能,而引起類變化的原因應該只有一個。在設計模式中,所有的設計模式都遵循這一原則。 2、開閉原則        •核心思想是

面向物件五大設計原則以及常見設計模式總結

儘管本人已經從事OOP程式設計好幾年,但對於OOP程式設計的很多精髓依舊瞭解不深。加之最近專案不緊,特抽出時間總結一些面向物件設計原則以及設計模式的相關內容,加深自己的理解同時也希望可以幫到其他人。 note:程式設計是一門技術更是一門藝術,藝術來源於生活又高於生活。下面介紹的很多東西很多都

UML面向物件設計原則

UML面向物件的設計原則 里氏替換原則 不滿足LSP的方案 CS遊戲中的槍械類圖,士兵使用槍殺敵,具體用什麼槍,呼叫的時候才知道。有一種玩具手槍,增加一個類ToyGun,射不出子彈,業務呼叫類出現了問題。   Abstractgun抽象類 public

類比JS面向物件和JAVA面向物件設計思想

(個人理解,如有誤導請指正) 我們都知道JS面向物件是採用原型鏈的方式設計的,JAVA是採用正統的面向物件的思想設計的,通過我的類比分析,我得出一個結論,它們之間本質上是沒有區別的。 先講一講面向物件的特點: 封裝和繼承和多型。 封裝: 最原始的結構化程式設計理念是 “資料結構+操作

RSD的面向物件分類設計

RSD的面向物件分類設計 李國春 2018.11.19   RSD設計了一套暫時命名為SC(Steadfast Classification)分類的物件分割、特徵提取和分類的技術。在《RSD面向物件分類的影象分割》https://blog.csdn.net/gordon3000

面向物件七大設計原則

核心思想:對擴充套件開放,對修改關閉。即在設計一個模組的時候,應當使這個模組可以在不被修改的前提下被擴充套件。根據開閉原則,在設計一個軟體系統模組(類,方法)的時候,應該可以在不修改原有的模組(修改關閉)的基礎上,能擴充套件其功能(擴充套件開放)。

c++ 面向物件設計五項基本原則

類設計五項基本原則 原則: 單一職責原則 開放封閉原則 Liskov替換原則 依賴倒置原則 介面隔離原則 第8章 單一職責原則 ( SRP ) 就一個類而言.應該僅有一個引起它變化的原因.   一個class就其整體應該只提供單一的服務 如果一個class提供多樣的服務,那麼就應該把它拆分,反之,如果一個

java--面向物件七大設計原則

1、 每一種設計思想的精準含義,具體如下: 先從整體認識這七種設計思想。 一、開閉原則: 這一條放在第一位來理解,它的含義是對擴充套件開放,對修改關閉。解釋一下就是,我們寫完的程式碼,不能因為需求變化就修改。我們可以通過新增程式碼的方式來解決變化的需求。 當然,這是一種理想的狀態,在現實中,我們要儘量的縮小