二、c++中class和struct的區別
三、成員屬性設定為私有
總結c++認為萬事萬物皆為物件,物件上有其屬性和行為。
例如:
人可以作為物件,屬性有姓名、年齡、身高、體重…,行為有走、跑、跳、唱歌…
車也可以作為物件,屬性有輪胎、方向盤、車燈…,行為有載人、放**…
具有相同型別的物件,我們可以抽象稱為類,人屬於人類,車屬於車類。
c++物件導向的三大屬性為:封裝、繼承、多型
本章主要介紹c++物件導向的三大特徵之一——封裝。
將屬性和行為作為乙個整體,表現生活中的事物。
將屬性和行為加以許可權控制
封裝意義1將屬性和行為作為乙個整體,表現生活中的事物
**如下(示例):
#include
using
namespace std;
const
double pi =
3.14
;//設計乙個圓類
class
circle
//class 類的名稱};
intmain()
執行結果如下:
封裝意義2類在設計時,可以把屬性和行為放在不同的許可權下,加以控制。
訪問許可權有三種:
1、public: 公共許可權
類內可以訪問,類外也可以訪問。
2、protected: 保護許可權
類內可以訪問,類外不可以訪問。
3、private: 私有許可權
類內可以訪問,類外不可以訪問。
保護許可權與私有許可權在繼承中會詳解,在此簡單理解一下子。
保護許可權呢,就是兒子可以訪問父親的保護內容。
私有許可權呢,就是兒子不能訪問父親的私有內容。
**如下(示例):
#include
#include
using
namespace std;
class
person
//class大括號裡的均為類內,大括號外的均為類外};
intmain()
由此可見,s1.m_password 是不可訪問的。同理,s1.m_car也是不可訪問的。
在c++中,struct和class的唯一區別就是預設的訪問許可權不同
區別:
**如下(示例):
#include
using
namespace std;
classc1;
struct c2
;int
main()
如圖,生成時會出現以上錯誤。
將所有成員屬性設定為私有,可以自己控制讀寫許可權
對於寫許可權,我們可以檢測資料的有效性
**如下(示例):
#include
#include
using
namespace std;
class
person
//獲取年齡 可讀
void
getage()
//設定年齡 只寫
void
setage
(int age)
m_age = age;
}//設定情人 只寫
void
setlover
(string lover)
private
://姓名 唯讀
string m_name;
//年齡 可讀可寫
int m_age;
//情人 只寫(不要在意細節emmmm)
string m_lover;};
intmain()
執行結果如下:
設定只寫許可權就寫乙個set函式,唯讀許可權就寫乙個get函式,可讀可寫那兩個函式都寫。
以上就是封裝的基本內容啦,最後來乙個靈魂拷問,你有物件了嗎?啊哈哈哈哈哈哈。
C 類和物件(一) 封裝
2.struct 和class的區別 3.成員屬性設為私有 4.練習案例 c 物件導向的三大特性 封裝,繼承,多型c 認為萬事皆可為物件,物件上有其屬性和行為 例如 物件 車 屬性 輪胎,方向盤,喇叭,車燈 行為 載人,駕駛,照明 具有相同性質的物件,抽象位類 車屬於車類 將屬性和行為作為乙個整體,...
C 類和物件(一) 封裝
c 物件導向的三大特性 封裝 繼承 多型。c 中萬物皆物件,物件包含屬性 成員變數 成員屬性 和行為 成員函式 成員方法 封裝的意義 1 將屬性和行為作為乙個整體,表徵現實的事物 2 對屬性和行為進行許可權控制。訪問許可權包括3種 public 公共許可權 成員在類中和類外均可訪問。protecte...
C 物件導向(一)封裝 類和物件
封裝 繼承 多型 封裝 組織 的過程,將 組織為乙個方法,將方法組織成類,將類組成元件,不同的元件組織為乙個系統。封裝可以方便使用者使用,並且能夠保證 的穩定性,安全性。類 一組相似物件的統稱。物件 乙個例項,是類的實現。類與物件的關係類物件 抽象具體 無狀態有狀態 是物件的模板 是類的例項 類與類...