1、物件導向
物件導向程式設計總結為一句話:向物件傳送訊息。
物件導向的程式模組由類構成。
2、類(1)每個類都定義可乙個介面和乙個實現。
介面:有該類地**需執行地操作組成。實現:包括該類所需要地資料。
(2)定義資料成員
不能把資料成員(像定義變數一樣)的初始化作為其定義地一部分,只能指定資料成員地名字和型別。只能通過建構函式地特殊成員函式控制初始化。
(3)struct和類
c++中struct也可以有public、private和protect屬性。struct成員預設為public,而class成員預設為private。
(4)private和protect
private:只有該類的建立者和該類的內部成員函式可以訪問
protect:繼承的結構可以訪問。
(5)成員函式
成員函式是類的行為,是程式演算法實現的部分,是對封裝的資料進行操作的唯一途徑。成員函式的宣告是在類主體中;具體實現在類定義之外,並且要指明類的名稱。ex:
return_type calss_nane::func(type parameter)
body
(6)內聯成員函式
隱式申明: 將函式主體直接放在類主體內。
顯示宣告: 在類主體外實現--函式實現時加上inline關鍵字。
(7)物件
物件是該類型別的某一特定實體。宣告: 型別 物件名
申明了類及其物件,就可以訪問物件的公有成員: 物件名.公有成員函式名(參數列)
(8)建構函式
是乙個特殊的成員函式,定義如何初始化該類的物件。它將在物件建立時被系統自動呼叫。
建構函式的函式名和類名相同,且沒有返回值。
若沒定義建構函式, 編譯器會自動生成乙個預設的建構函式。
定義好建構函式後,可以這樣宣告並初始化物件: 類名 物件名(引數列表)
(9)拷貝建構函式
是一種特殊的建構函式,具有一般建構函式的特性,其形參是本類物件的引用。其作用是使用乙個已存在的物件去初始化乙個新的同類的物件。
若沒有定義拷貝建構函式,系統會自動生成乙個預設的建構函式,其功能是把初始值物件的每個資料成員的值都複製到新建的物件中。ex:
class point
(11)類的組合
乙個類內嵌其他類的物件作為成員。組合建構函式定義:
類名::類名(形參表):內嵌物件1(形參表),內嵌物件2(形參表),……
對本類的資料成員也可以這樣初始化,ex: 類名::類名(形參表):資料成員(值)
(12)類模板
為類申明一種模式,使得類中的某些資料成員、成員函式的引數或返回值能取任意型別。示例:
template //類模板:實現對任意資料型別的資料進行訪問
class store
作為類成員的過載函式時,其形參看起來比運算元數目少1。作為成員函式的操作符有乙個隱含的this形參,限定為第乙個運算元。
b、虛函式
虛函式是以virtual修飾的成員函式(不能將建構函式宣告為虛函式),以實現多型性。
c、純虛函式
純虛函式是乙個在基類中宣告的虛函式,沒有函式體(即基類中不再給出函式的實現部分),它在基類中沒有定義具體的操作內容,要求各派生類根據實際需要定義自己的版本。
d、抽象類:帶有純虛函式的類
(17)this指標
指向本類物件的隱含指標。
物件導向筆記
建立物件 2.建構函式模式 function person name,age,job var person1 new person lllrrr 28 var person2 new person yyyccc 24 與工廠函式不同之處 1 沒有顯示式建立物件 2 直接將屬性方法給了this 3 沒...
物件導向筆記
面向過程 pop 與物件導向 oop 的區別 二者都是一種思想,物件導向是相對於面向過程而言的。面向過程,強調的是功能行為,以函式為最小單位,考慮怎麼做。物件導向,將功能封裝進物件,強調具備了功能的物件,以類 物件為最小單位,考慮誰來做。物件導向更加強調運用人類在日常的思維邏輯中採用的思想方法與原則...
php物件導向筆記( )
php 物件導向的程式設計 物件導向是程式設計是一種計算機程式設計架構 類的例項化物件是物件,而物件的抽象就是類 類的宣告 一些修飾類的關鍵字 class 類名 類中成員 可以是私有屬性和方法 在類中直接宣告的變數就是成員屬性 在類中宣告的可以操作物件成員屬性的是成員方法 建立物件 變數名 new ...