一、封裝的意義
封裝是c++物件導向三大特性之一
封裝的意義:
封裝意義一:
在設計類的時候,屬性和行為寫在一起,表現事物
語法:class 類名;
示例1:設計乙個圓類,求圓的周長
示例**:
#include
"iostream"
using
namespace std;
//圓周率
const
double pi =
3.14
;//1、封裝的意義
//將屬性和行為作為乙個整體,用來表現生活中的事物
//封裝乙個圓類,求圓的周長
//class代表設計乙個類,後面跟著的是類名
class
circle};
intmain()
示例2:設計乙個學生類,屬性有姓名和學號,可以給姓名和學號賦值,可以顯示學生的姓名和學號
#include
"iostream"
using
namespace std;
//學生類
class
student
void
setid
(int id)
void
showstudent()
public
: string m_name;
int m_id;};
intmain()
封裝意義二:
類在設計時,可以把屬性和行為放在不同的許可權下,加以控制
訪問許可權有三種:
public 公共許可權
protected 保護許可權
private 私有許可權
#include
"iostream"
using
namespace std;
//三種許可權
//公共許可權 public 類內可以訪問 類外可以訪問
//保護許可權 protected 類內可以訪問 類外不可以訪問
//私有許可權 private 類內可以訪問 類外不可以訪問
class
person};
intmain()
二、struct和class區別
在c++中,struct和class非常相似,也可以像class那樣對一些屬性和行為進行封裝,也可以有繼承,那麼兩者有什麼區別呢?
在c++中 struct和class最大的區別就在於預設的訪問許可權不同,預設的繼承許可權也不同
區別:三、成員屬性設定為私有
優點1:將所有成員屬性設定為私有,可以自己控制讀寫許可權
優點2:對於寫許可權,我們可以檢測資料的有效性
#include
"iostream"
using
namespace std;
class
person
string getname()
//獲取年齡
intgetage()
//設定年齡
void
setage
(int age)
m_age = age;
}//情人設定為只寫
void
setlover
(string lover)
private
: string m_name;
//可讀可寫 姓名
int m_age;
//可讀可寫 年齡
string m_lover;
//只寫 情人};
intmain()
參考: C 物件導向三大特性
封裝就是將成員變數和成員方法等集合在乙個個的類中,通過給類及類中的成員變數 屬性和方法設定不同的訪問修飾符 public protected internal protected internal private 來控制它們的作用範圍,使用時呼叫它的方法,或者給它的變數賦值。封裝的意義在於保護或者防...
物件導向三大特性之繼承
1 author kelvin2 date 2019 1 16 18 5734 class father 5 money 100067 def init self,name 8print 父類的init方法.9 self.name name 1011 defteach self 12print s ...
物件導向三大特性之封裝
物件導向的三大基本特徵 封裝 封裝是指將物件的實現細節隱藏起來,然後通過公共的方法來向外暴露該物件的事功能。繼承 即城市物件導向實現軟體服用的重要手段,當子類繼承父類後,子類是一種特殊的父類,能直接或間接獲得父類的成員。多型 多型是可以直接把子類物件賦給父類變數,但是執行時依然表現出子類的行為特徵,...