c++物件導向程式設計的三大特徵為:封裝、繼承、多型
c++認為萬事萬物皆為物件,物件上有其屬性和行為
封裝是c++物件導向三大特性之一
封裝的意義:
(1)將屬性和行為作為乙個整體,表現生活中的事物
(2)將屬性和行為加以許可權控制
封裝意義一:
在設計類的時候,屬性和行為寫在一起,表現事物
語法:class 類名
#include
using
namespace std;
const
double pi =
3.14
;//設計乙個圓類,求圓的周長
class
circle};
intmain()
類中的屬性和行為——統稱為成員
(1)屬性——成員屬性、成員變數
(2)行為——成員函式、成員方法
#include
#include
using
namespace std;
//設計乙個中學生類,屬性有姓名和學好,可以給姓名和學好賦值,可以顯示學生的姓名和學好
class
student
void
setname
(string new_name)};
intmain()
封裝意義二:
類設計時,可以把屬性和行為放在不同的許可權下,加以控制
訪問許可權分為3種:
(1)public共有許可權:成員——類內可以訪問,類外可以訪問
(2)protected保護許可權:類內可以訪問,類外不可訪問子類也可以訪問父類的保護成員
(3)private私有許可權:成員——類內可以訪問,類外不可以訪問子類不可以訪問父類的私有成員
#include
#include
using
namespace std;
//訪問許可權
//公有許可權public:成員——類內可以訪問,類外可以訪問
//保護許可權protect:成員——類內可以訪問,類外不可訪問 子類也可以訪問父類的保護成員
//私有許可權private:成員——類內可以訪問,類外不可以訪問 子類不可以訪問父類的私有成員
class
person};
intmain()
在c++中struct和class唯一的區別就在於預設的訪問許可權不同
區別:(1)struct預設許可權為公有
(2)class預設許可權為私有
#include
#include
using
namespace std;
//struct預設許可權是公有
//class預設許可權是私有
classc1;
struct c2
;int
main()
優點:
(1)將所有成員屬性設定為私有,可以自己控制讀寫許可權
(2)對於寫許可權,我們可以檢測資料的有效性
#include
#include
using
namespace std;
//成員屬性設定為私有
//1.自己控制讀寫許可權
//2.對於寫許可權可以檢測資料的有效性
class
person
string getname()
//年齡:
intgetage()
void
setage
(int age)
m_age = age;
}//情人:只寫
void
setlover
(string lover)};
intmain()
案例1:設計立方體類,求出立方體的面積和體積,分別用全域性函式和成員函式判斷兩個立方體是否相等
#include
#include
using
namespace std;
//設計立方體類,求出立方體的面積和體積,
//分別用全域性函式和成員函式判斷兩個立方體是否相等
class
cube
//獲取高
intgeth()
//設定寬
void
setw
(int w)
//獲取寬
intgetw()
//設定長
void
setl
(int l)
//獲取高
intgetl()
intsquare()
//面積
intvolume()
//體積
//利用成員函式判斷兩個立方體是否相等
bool
judge
(cube& c)
else}}
;bool
judge
(cube c1, cube c2)
//值傳遞,需要開闢記憶體空間,可以把引數改為 cube &c1,cube &c2這樣不用開闢空間
else
}int
main()
案例2:點和圓的關係,設計乙個圓類,和乙個點類,計算點和圓的關係
注意:圓的圓心是點
#include
#include
using
namespace std;
//點和圓的關係,設計乙個圓類,和乙個點類,計算點和圓的關係
class
point
intshowx()
//設定y,獲取y
void
sety
(int new_y)
intshowy()
};class
circle
intshowr()
//設定圓心,獲取圓心
void
setcenter
(point point)
point showcenter()
};//判斷點和圓的關係
void
judge
(point point, circle circle)
else
if(distence>r_2)
else
}int
main()
C 核心程式設計 4 類和物件 封裝
c 物件導向的三大特性 封裝 繼承 多型 c 認為萬事萬物皆為物件,物件上有其屬性和行為 封裝意義 1 將屬性和行為作為乙個整體,表現生活中的事物 語法 class 類名 例項 設計乙個圓類,求圓的周長 include include using namespace std 設計乙個圓類,求圓的周長...
C 類和物件 封裝
c 物件導向三大特性 封裝 繼承 多型 將屬性和行為作為乙個整體,表現生活中的事物 將屬性和行為加以許可權控制 public 公共許可權 類內可以訪問,類外可以訪問 protected 保護許可權 類內可以訪問,類外不可以訪問 private 私有許可權 類內可以訪問,類外不可以訪問 在c 中str...
封裝屬性 C 核心程式設計 封裝
封裝是c 物件導向三大特性之一 封裝的意義 封裝意義一 在設計類的時候,屬性和行為寫在一起,表現事物 語法 class 類名 示例1 設計乙個圓類,求圓的周長 示例 圓周率 const double pi 3.14 1 封裝的意義 將屬性和行為作為乙個整體,用來表現生活中的事物 封裝乙個圓類,求圓的...