七 類中的封裝

2021-07-25 18:45:56 字數 1913 閱讀 1466

(1).如電腦類由鍵盤類、滑鼠類、顯示類、cpu類、memory類等類組成

(2).類通常可以分為以下兩個部分:

a.類的實現細節

b.類的使用方式(使用者一般只關心怎麼使用,而不會關心內部到底如何實現)

(1).當使用類的時候不需要關心其實現細節

(2).當建立乙個類時,才需要考慮其內部實現細節

(3).封裝的基本概念:

a.並不是類的每個屬性都是對外公開的

b.而一些類的屬性是對外開放的

因此,需要在類的表示法中定義屬性和行為的公開級別

c++中類的封裝:

成員變數(表示類的屬性)

成員函式(表示類的行為)

在c++中可以給成員變數和成員函式定義訪問級別

public:成員變數和成員函式可以在類的內部和外界訪問和呼叫

private:成員變數和成員函式只能在類的內部被訪問和呼叫

類成員的訪問屬性:

struct girl : human }

struct boy : human }

main 相對類來說就是外界。

(1).類成員的作用域都只在類的內部,外部無法直接訪問

(2).成員函式可以直接訪問成員變數和呼叫其它成員函式,但外部只能訪問public成員

(3).c++中用struct定義的類的所有成員預設為public,而class定義的磊預設是private的

#include

using

namespace

std;

class student

要求:1.提供setoperator函式設定運算型別,如加、減、乘、除

2.提供setparameter函式設定運算引數,型別為整型

3.提供result函式進行運算,其返回值表示運算合法性,通過引用引數返回結果。

operator.h:

#ifndef _operator_h_

#define _operator_h_

class operator

;#endif

operator.cpp:

#include "operator.h"

#include

using

namespace

std;

bool operator::setoperator(char c)//注意指定是那個類的函式

else

return ret;

}void operator::setparameter(double d1, double d2)

bool operator::result(double& r)//利用引用來儲存結果

else

break;

case

'+':

r = m1 + m2;

break;

case

'*':

r = m1 * m2;

break;

case

'-':

r = m1 - m2;

break;

default:

ret = false;

break;

}return ret;

}

main.c

#include

#include "operator.h"

using

namespace

std;

int main()

getchar();

return

0;}

以上程式,主函式只知道怎麼使用,不知道其內部如何實現,這就是類的封裝

類中的封裝

類中的成員有屬性和方法,如何對其成員經行封裝?通過protected和local關鍵字設定成員的訪問許可權,以此達到封裝的目的。也就是外部不能直接對類中的成員經行訪問以及改寫,但是可以通過set和get方法進行間接方法以及改寫。例子 class clock local bit is sunmer 0...

MVC封裝(七)配置載入類

首先在lib下新建配置類檔案conf.php 然後,使用靜態方法,首先是get方法,然後給方法連個引數,乙個是需要載入配置的名稱,乙個是需要載入配置的檔案。然後在core下新建資料夾config再把相關的配置檔案放到裡面 然後在新建檔案route.php,在裡面定義乙個預設的路由。在core lib...

c 中類的封裝

連線directshow filter cvideo 類中,這樣程式簡潔明瞭,易於操作,不容易出錯,提高了程式的魯棒性。1.類的定義 類是定義同一類所有物件的變數和方法的藍圖或原型。例如,可以建立乙個定義包含當前檔位等例項變數的自行車類。這個類也定義和提供了例項方法 變檔 剎車 的實現。例項變數的值...