C 物件導向思想(一)

2021-08-20 13:41:15 字數 1179 閱讀 9669

相比c,

c++多出來一些東西來,類定義、繼承、過載、覆蓋、類動態編譯、抽象類虛函式、模板。這些東西非常有用,但怎麼用,像我這種小白,就有些難過了,世界最遙遠的距離就是雖然學習了物件導向,可是用起來還是如同面向過程一樣粗暴

首先我們需要了解什麼是物件導向思想

物件便是我們接觸的事物,有屬性有動作。而物件導向字面意義便是我們啟動這些物件的動作,關注獲得的結果就好,不需要知道他們如何操作的。多麼方便呀,我們只需要按下咖啡機的按鈕就可以獲得一杯美味的咖啡,不必自己按照咖啡機的工作過程,親手操作。

好了,我們已經知道什麼是物件導向了,但是我們面臨乙個關於品質的問題,乙個不想偷懶的程式設計師不是乙個好工程師。每次我們拿到乙個專案,我們便開始寫類的屬性,然後是屬性的介面函式,其次便是屬性之間,類與類之間的函式。基本的**都比過程解決的整個**都多,真的心累呀。所以我們需要知道如何設計出乙個簡潔的

uml圖

第一步,我們需要知道整個專案中涉及到多少種類,這些類的關係是什麼,記住我們要用乙個樹來描述關係。類似於

為什麼要畫乙個這樣的樹呢?樹的特性是同一層沒有任何關係,上下層有服務關係。最下面的類則是被採用最多的,是最基礎的。如果我們把整個專案中涉及最多的屬性抽象到乙個類,那麼我們可以一勞永逸了。

第二步,類之間的動作關係。我們可以分為有相同繼承的類和沒有公共父類的類。有公共父類的子類更加趨向於這個專案對於不同操作情況的反應,屬於分情況分析,所以我們希望的是當達到某一情況時,我才做什麼樣的動作,在這之前系統並不知道整體情況,對於程式設計人員也不需要做什麼情況判斷,直接呼叫方法處理就行,判斷什麼的就交給編譯器了。第二種是沒有公共分類的類,在這些方法的編寫中,我們則要注意不要隨意就去呼叫類中的屬性,做好封裝。

第三步,則是考慮在資料或類的處理中,有沒有非常頻繁的,針對於不同的引數的操作。比如,日期需要比較,字串需要比較,圖形位置需要比較之類的。我們就需要寫乙個模板,針對於不同類的引數都起作用。那麼我們就只需要通過定義自己需要的類,然後呼叫這個通用模板,就可以完成重複的工作了。

這就是我今天想跟大家分享的物件導向思維。不過是自己琢磨出來的,如果有什麼不對的,非常歡迎各位道友指點,一起進步呀

簡單介紹下自己,我是乙個雖然浸淫計算機

4年,但仍然小白一枚。在成為會思考、會寫作的偉大程式設計師道路上努力奮鬥,立志實現我的第乙個既定目標。

物件導向思想(一)

1.什麼是物件導向思想?2.類和物件 3.物件導向程式設計的三大特性 1.什麼是物件導向思想?確確的說,還沒有人能為物件導向給出乙個全面的定義 至少到目前為止我沒發現有,以後可能更難了定義,因為物件導向擴充套件涵蓋到領域越來越廣泛了。我是這麼理解的 物件導向思想就是把世界看作是由各種各樣具有自己內部...

C 物件導向思想 OOP

物件導向的基本思想是 從現實世界中客觀存在的事物出發來構造軟體系統,並在系統的構造中盡可能地運用人類的自然思維方式。物件導向更加強調運用人類在日常生活的邏輯思維中經常採用的思想方法與原則,如抽象 分類,繼承 聚合 多型等。oop 的一條基本原則是 電腦程式是由單個能夠起到子程式作用的單元或物件組合而...

物件導向思想

物件導向思想 物件導向是以現實生活中客觀存在的食物 即物件 來構造軟體系統,並在系統構造中盡可能運用人類的自然思維方式,強調直接以食物物件為中心來思考 分析問題,並根據事物的本質特徵將其抽象為系統中的物件,作為系統的基本構成單位。物件導向思想主要分為3個主要部分 物件導向分析 物件導向設計 物件導向...