2.3物件:某乙個類事物的具體例項。(類的例項化)
物件的組成:屬性(就是乙個實物的特徵),方法(事物具有的功能方法)
例項化: 類名 物件名;
注:乙個類屬於所有人該類的實物,乙個實物只能屬於乙個類
2.4訊息:向某乙個物件(具體的實體)傳送乙個訊息
物件.訊息
引用特徵屬性: 物件.成員;
指標->成員
eg: we.age;
2.5封裝:讓資料與外界產生隔離
public 公有 :類內外界都可訪問
protected 保護:外界不能訪問,自己可以訪問
private 私有:外界不能訪問,自己可以訪問
2.6分配的物件空間:只有資料空間
2.6建構函式:物件只能由建構函式來分配空間並初始化
class 類名
};1、預設建構函式:沒有形參
類名()
注:如果使用者不顯示的定義建構函式,編譯器會預設新增無參建構函式
2、拷貝建構函式:物件的複製(呼叫拷貝建構函式)
類名(類名&);
注:如果使用者不顯示的定義拷貝構造,編譯器會預設新增拷貝構造淺深
2、物件的生命週期:
1、分配空間:資料區(動態區,靜態區,堆區)
動態區:在函式內例項化的(非staic)物件
當函式被呼叫時,才會分配空間呼叫建構函式
靜態區:在函式外,或者staic修飾的物件
當程式執行就會分配空間呼叫建構函式
注:如果static修飾的區域性靜態區變數,當函式被呼叫時
才呼叫建構函式
堆區:兩個運算子分配空間與釋放空間
new 型別(實參)
delete
注:malloc只分配資料空間,new分配空間,例項化物件
2.7定義類的方法時:
1、在類內定義
class student
};2、在類外定義:屬於該類
1、先在類內宣告
class student
;void student::show()
2.8初始化列表:當例項化時,物件呼叫建構函式分配空間和初始化
方法1:
student()
方法2:
student():id(值),***(『m』)
方法1與方法2等價
2.9在類外如何訪問非公有成員?
解決方法:該類提供乙個公有的介面
2.10類成員的作用域:
1類的成員作用域:只在類內(只能在類內訪問,不能在類外訪問)
2、作用域符:
類名::成員;
2.11物件指標變數:專門用於儲存物件的指標
定義指標變數: 型別名* 變數名; (沒有例項化)
成員屬性中有乙個特殊的指標:this 指向自己
#include#includeusing namespace std;
//類:一類事物的模板
class student
;//類外定義函式--無參建構函式
student::student():id(0),***('m'),age(0)
//介面
short student::getage()
void student::setage(int age)
int main()
Java物件導向1 封裝
1.物件導向程式設計的思想 於生活,一切皆物件要描述這個世界上任何乙個物件都可以通過靜態屬性 成員變數 和動態屬性 方法 函式 2.定義乙個類就等於定義一種新的資料型別 3.乙個類就是乙個具體物件例項模板 建構函式 與類同名,沒有返回值 當沒有自定義建構函式時,系統會自動建立乙個無引數的建構函式 但...
物件導向2 封裝,this,構造方法
封裝 把成員變數 方法私有化,在基本類裡面提供他們公共的訪問方法 private關鍵字的作用 公共的訪問方法 set和 get方法 快捷鍵 alt shift s r 乙個手機類 成員變數 brand,price,color 將成員變數私有化,提供公共的訪問方式 手機類 class phone pu...
物件導向3(封裝)
概念 隱藏物件的內部資訊,給外部提供一些訪問內部的介面。作用 提高 復用性,提高 安全性,提高 易用性。實現步驟 隱藏內部資訊,使用private關鍵字修飾屬性。private 是關鍵字,表示私有的只能修飾屬性和方法,修飾成員只能被類訪問。提供的訪問介面 方法 getter setter方法 返回值...