資料封裝是物件導向程式設計的乙個重要特點,它防止函式直接訪問類型別的內部成員。類成員的訪問限制是通過在類主體內部對各個區域標記public、private、protected
來指定的。關鍵字public、private、protected
稱為訪問修飾符。
class
base ;
複製**
公有成員在程式中類的外部是可訪問的。您可以不使用任何成員函式來設定和獲取公有變數的值,如下所示:
#include
using
namespace
std;
class
line;
// 成員函式定義
double line::getlength(void)
void line::setlength( double len )
// 程式的主函式
intmain
( )複製**
私有成員變數或函式在類的外部是不可訪問的,甚至是不可檢視的。只有類和友元函式可以訪問私有成員。
預設情況下,類的所有成員都是私有的。
#include
using
namespace
std;
class
box;
// 成員函式定義
double box::getwidth(void)
void box::setwidth( double wid )
// 程式的主函式
intmain
( )複製**
保護成員變數或函式與私有成員十分相似,但有一點不同,保護成員在派生類(即子類)中是可訪問的。
#include
using
namespace
std;
class
box;
class
smallbox:box // smallbox 是子類(繼承關係);
// 子類的成員函式
double smallbox::getsmallwidth(void)
void smallbox::setsmallwidth( double wid )
// 程式的主函式
intmain
( )複製**
有public, protected, private三種繼承方式,它們相應地改變了基類成員的訪問屬性。但無論哪種繼承方式,上面兩點都沒有改變:
#include
#include
using
namespace
std;
class
a void
fun()
public:
int a1;
protected:
int a2;
private:
int a3;
};class
b :public a
void
fun()
};int
main
()複製**
#include
#include
using
namespace
std;
class
a void
fun()
public:
int a1;
protected:
int a2;
private:
int a3;
};class
b :protected a
void
fun()
};int
main
()複製**
#include
#include
using
namespace
std;
class
a void
fun()
public:
int a1;
protected:
int a2;
private:
int a3;
};class
b :private a
void
fun()
};int
main
()複製**
定義類和物件
class abc self 這裡的a必須大寫,這個是類class的命名規範 物件導向程式設計 oop程式設計是利用 類 和 物件 來建立各種模型來實現對真實世界的描述,使用物件導向程式設計的原因一方面是因為它可以使程式的維護和擴充套件變得更簡單,並且可以大大提高程式開發效率 另外,基於物件導向的程...
物件,什麼物件 如何定義類
物件導向是來劃分問題的,不是解決問題的步驟和過程。這是區別物件導向的面向過程的基本。物件導向的類 是物件相同或者相似的屬性的集合 確定物件應該擁有的特徵 屬性 和方法 行為 物件的屬性 物件擁有的特徵,簡單的來說就是這個物件有什麼具體的東西。每個物件的屬性都有每個特定的特徵值。物件的方法 就是物件的...
OC類和物件 定義類
main.m oc物件導向 created by goddog on 15 1 2.1.object c 支援物件導向的三大特徵 繼承 封裝 多型。2.提供了 private package protected public訪問控制符來實現封裝 1.定義類 1 介面部分 a.定義該類包含的成員變數和...