時常用「物件導向」這個詞語,上c++講課的時候不過也僅僅知道這是一門物件導向語言,但始終不得其中精髓,於是特意整理一篇關於物件導向概念的筆記,對其中的不足之處,還望大家多多指教,不勝感激。在物件導向程式設計中,物件包含兩個含義:
1.資料;
2.動作;
物件不僅能夠進行操作,同時還能夠及時記錄下操作結果
方法【又稱函式】是指物件能夠進行的操作,是類中的定義函式。
具體作用:對物件進行描述操作。
【繼承】
繼承簡單地說就是一種層次模型,這種層次模型能夠被重用。層次結構的上層具有通用性,但是下層結構則具有特殊性。在繼承的過程中類則可以從最頂層的部分繼承一些方法和變數。類除了可以繼承以外同時還能夠進行修改或者新增。通過這樣的方式能夠有效提高工作效率。
例子: 當類x繼承了類y後,此時的類x則是乙個派生類,而類y屬於乙個基類。繼承是從一般演繹到特殊的過程,可以減少知識表示的冗餘內容,知識庫的維護和修正都非常方便。更有利於衍生複雜的系統。
【類】類是具有相同特性(資料元素)和行為(功能)的物件的抽象。因此,物件的抽象是類,類的具體化就是物件,也可以說類的例項是物件,類實際上就是一種資料型別。類對映的每乙個物件都具有這些資料和操作方法。
類具有屬性,它是物件的狀態的抽象,用資料結構來描述類的屬性。
類具有操作,它是物件的行為的抽象,用操作名和實現該操作的方法來描述。
類的繼承具有層次性和結構性,高層次物件封裝複雜行為,具體細節對該層次知識保持透明,可以減小問題求解的複雜度。
【封裝】
封裝是將資料和****到一起,物件的某些資料和**可以是私有的,不能被外界訪問,以此實現對資料和**不同級別的訪問許可權。防止了程式相互依賴性而帶來的變動影響,物件導向的封裝比傳統語言的封裝更為清晰、更為有力。有效實現了兩個目標:對資料和行為的包裝和資訊隱藏。
【態】態是指不同事物具有不同表現形式的能力。多型機制使具有不同內部結構的物件可以共享相同的外部介面,通過這種方式減少**的複雜度。乙個介面,多種方式。
【動態繫結】
動態繫結指的是將乙個過程呼叫與相應**鏈結起來的行為,指與給定的過程呼叫相關聯的**只有在執行期才可知的一種繫結,它是多型實現的具體形式。
【訊息傳遞】
物件之間需要相互溝通,溝通的途徑就是對象之間收發資訊。訊息內容包括接收訊息的物件的標識,需要呼叫的函式的標識,以及必要的資訊。訊息傳遞的概念使得對現實世界的描述更容易。
【物件導向的方法】
物件導向的方法就是利用抽象、封裝等機制,借助於物件、類、繼承、訊息傳遞等概念進行軟體系統構造的軟體開發方法。
物件導向 初識物件導向
面向過程思想 步驟清晰簡單,第一步做什麼,第二步做什麼.面向過程適合處理一些較為簡單的問題 物件導向思想 物以類聚,分類的思維模式,思考問題首先會解決問題需要分哪些類,然後對這些類進行單獨思考,最後才是對某個分類下的細節進行面向過程的思索 物件導向適合處理複雜的問題,適合處理需要多人協作的問題 對於...
物件導向程式設計01 面向過程 物件導向
前面12講我已經寫完了從零開始學j ase 慶祝完結撒花!那麼從今天開始正式步入物件導向程式設計。建議開啟本章之前先回顧 j ase010方法詳解和 j a變數與方法的呼叫 同類操作中與跨類操作中的對比 物件導向程式設計 oop object oriented programming 物件導向程式設...
物件導向過程與物件導向
物件導向過程與物件導向 1 程式的發展經歷了兩個階段 面向過程 物件導向。2 對於物件導向與面向過程可以用乙個例子解釋,如乙個木匠要做乙個盒子,那麼這個盒子的出發點會有兩種方式 物件導向 先想好要做的盒子,之後在去找相應的工具去做。面向過程 不去想要做什麼樣的盒子,隨需取工具。物件導向三大特徵 封裝...