C 語言學習記錄 21 封裝

2021-10-10 11:20:45 字數 1202 閱讀 8151

封裝在之前的文章中有所涉及,現在將具體的進行學習。

封裝將屬性和行為作為乙個整體,表現生活中的事物,將屬性和行為加以許可權控制,語法在前面類和物件一節中有大概的體現。

class classname
屬性(成員屬性、成員變數)和行為(成員函式、成員方法)被統稱為類中的成員。

下面用乙個圓類來舉例。

#include

using

namespace std;

class

circle};

intmain()

實際上類看上去就像乙個公升級版的結構體,對類的訪問還有建立類中的乙個新的物件都和結構體很相似。當然,他們之間也有區別,他們之間唯一的區別就是預設的訪問許可權不同。struct的預設許可權為public,class的預設許可權為private。

封裝也可以將成員放在不同的許可權下進行控制。

訪問許可權有三種:pubilc, private, protected

public許可權被稱為公共許可權,在類內和類外都可以訪問

protected許可權被稱為保護許可權,類內可以訪問,類外不可以訪問,屬性可以被繼承

private許可權被稱為私有許可權,類內可以訪問,類外不可以訪問,屬性不可以被繼承

私有屬性的優勢在於可以自己控制讀寫許可權,同時在寫的時候還可以檢驗資料的有效性。

#include

#include

using

namespace std;

class

person

//列印姓名

void

getname()

intgetage()

void

setsecret

(string secret)

private

: string m_name;

//可以讀取也可以修改

int m_age;

//唯讀

string m_secret;

//只寫};

intmain()

實際上private的思想就是通過是否使用函式成員控制行為來決定外界對private內部的許可權,使得這一許可權是可以被修改的。因此,public可以被看作是乙個介面,用於連線內部的屬性。

在類內使用判斷語句就可以控制輸入的資料是否合法。

C 學習(8) 封裝

c 物件導向的三大特性 封裝 繼承 多型 c 認為萬事萬物都可以為物件,物件上有其屬性和行為 具有相同性質的物件,可以抽象為類 封裝是c 物件導向三大特性之一 封裝的意義 封裝意義一 在設計類的時候,屬性和行為寫在一起,表現事物 語法 class 類名 示例1 設計乙個圓類,求圓的周長 includ...

C 學習筆記(3) 封裝

封裝是c 物件導向三大特性之一 封裝的意義 1 封裝的意義 2 類在設計時,可以把屬性和行為放在不同的許可權下,加以控制。在c 中,共有三種許可權 公共許可權 public 類內可以訪問 類外可以訪問 保護許可權 protected 類內可以訪問 類外不可以訪問 私有許可權 private 類內可以...

C 學習筆記(九) 封裝

c 物件導向的三個特性 封裝 繼承和多型。意義 將屬性和行為作為乙個整體,表現生活中的整體。將屬性和行為加以許可權控制。屬性 用資料描述 行為 用函式描述 許可權 public 公共許可權 類內可以訪問,類外也可以訪問。protected 保護許可權 類內可以訪問,類外不可以訪問。兒子可以訪問父親的...