物件導向設計

2021-10-09 16:21:40 字數 459 閱讀 7998

物件導向的基本要素:封裝、繼承、多型。

封裝的目的是隱藏事務內部的實現細節,以便提高安全性和簡化程式設計。封裝提供了合理的邊界,避免外部呼叫者接觸到內部的細節。我們在日常開發中,因為無意間暴露了細節導致的難纏 bug 太多了,比如在多執行緒環境暴露內部狀態,導致的併發修改問題。從另外乙個角度看,封裝這種隱藏,也提供了簡化的介面,避免太多無意義的細節浪費呼叫者的精力。

繼承是**復用的基礎機制,類似於我們對於馬、白馬、黑馬的歸納總結。但要注意,繼承可以看作是非常緊耦合的一種關係,父類**修改,子類行為也會變動。在實踐中,過度濫用繼承,可能會起到反效果。

多型,你可能立即會想到重寫(override)和過載(overload)、向上轉型。簡單說,重寫是父子類中相同名字和引數的方法,不同的實現;過載則是相同名字的方法,但是不同的引數,本質上這些方法簽名是不一樣的。注意方法名稱和引數一致,但是返回值不同會編譯錯誤。

物件導向的s.o.l.i.d 原則

物件導向設計

物件導向設計 object oriented design,ood 方法是oo方法中乙個中間過渡環節。其主要作用是對ooa分析的結果作進一步的規範化整理,以便能夠被oop直接接受。物件導向設計 ood 是一種軟體設計方法,是一種工程化規範。這是毫無疑問的。按照bjarne stroustrup的說法...

物件導向設計

1 物件導向的三要素 1.1 封裝 encapsulation a 封裝 合理的隱藏資料的隱藏 隱藏在方法背後 實現的隱藏 隱藏在介面背後 變化的隱藏 隱藏在抽象背後 b 封裝能夠提高物件的復用性 減低物件的耦合度c 良好的封裝 物件的高內聚 1.2 繼承 inheritance a 基於差異式程式...

物件導向設計

物件導向的設計把握乙個重要原則 誰擁有資料,誰就對外提供操作這些資料的方法。人在黑板上畫圓 person,blackboard,circle draw 列車司機在剎車 人關門 兩塊石頭磨成一把石刀,石刀可以砍樹,砍成木材,木材可以做椅子。stone石頭 stoneknife石刀 stoneknife...