面相物件之封裝的理解(二)

2021-10-24 21:07:17 字數 1126 閱讀 3431

由前面的例子我們可以理解為什麼要封裝,那麼我們如何來封裝呢?

private關鍵字的作用是將類中的成員(成員變數和函式)私有化,使其只可以在本類中才可以使用。

既然私有化了類中的成員,那麼我們保證了**的安全性的同時如何來自己使用這些成員呢?

如果我們想要使用私有化的成員變數和成員函式時,我們需要get、set方法來對其訪問,具體的格式為:

class

student

public

void

setname

(string n)

public string getname()

public

void

setage

(int a)

public

intgetage()

}

這裡注意的是set方法中沒有返回值,而get方法中需要返回值。此時我們可以用set方法給name和age賦值,用get方法進行獲取輸出:

public

static

void

main

(string[

] args)

輸出結果為:我的名字:曹賊 我的年齡:20

但是我們發現即使用set、get的方法封裝**,但是在輸入setage()的方法時仍然可以將年齡輸入為負值,這顯然不符合現實。

我們知道現在的成員變數不是直接的呼叫,而是用方法來呼叫,所以我們可以在方法中進行判斷,從而使輸入的結果是符合現實道理的:

public

intgetage()

else

}}

這裡我們判斷如果輸入的年齡小於0或者大於110,那麼我們預設輸入的年齡為1歲:

stu.

setname

("曹賊");

stu.

setage(-

3);

輸出結果為:我的名字:曹賊 我的年齡:1

並不是所有的封裝對成員變數的獲取都是set、gei方法,當成員變數是boolean型別的時候,我們需要is***()方法對其進行獲取。

解析Swift語言面相物件程式設計中的繼承特性

取大於形態的能力被定義為繼承。一般乙個類可以從另乙個類繼承屬性和方法。類可以進一步劃分到子類和超類。子類 當乙個類從另乙個類繼承屬性,方法和功能被稱為子類 超類 類包含屬性,方法和功能被其它類繼承稱為超類 swift 中類包含父類和呼叫訪問方法,屬性,功能和重寫方法。另外,屬性觀察者也用於新增屬性和...

python物件導向(二)之封裝

在程式設計中,封裝 encapsulation 是對具體物件的一種抽象,即將某些部分隱藏起來,在程式外部看不到,其含義是其他程式無法呼叫。即 封裝 就是將抽象得到的資料和行為 或功能 相結合,形成乙個有機的整體 即類 封裝的目的是增強安全性和簡化程式設計,使用者不必了解具體的實現細節,而只是要通過外...

物件導向中 封裝的理解

封裝是保證軟體部件具有優良的模組性的基礎,封裝的目標就是要實現軟體部件的 高內聚 低耦合 防止程式相互依賴性而帶來的變動影響。在物件導向的程式語言中,物件是封裝 的最基本單位,物件導向的封裝比傳統語言的封裝更為清晰 更為有力。物件導向的封裝就 是把描述乙個物件的屬性和行為的 封裝在乙個 模組 中,也...