物件導向三大特性 封裝

2021-09-22 03:53:45 字數 1864 閱讀 1933

封裝

a.什麼是封裝?

封裝就是把每個物件的資料(屬性)和操作(行為)包裝在乙個類中。即可以被認為是乙個保護屏障,防止該類的**和資料被外部類定義的**隨機訪問。

b.封裝的設計思想提:供對外的訪問介面,隱藏內部的實現方式

c.封裝的基本原則

(1)類一般是public

(2)屬性一般是private

(3)構造方法一般是public

(4)get、set方法一般是public

例如:下面**中的屬性姓名、年齡私有,用private封裝,這樣就只有本類可以訪問,其他類都無法訪問,如此就實現了對資訊的隱藏

public class person
雖然private將屬性隱藏起來了,但同時也對每個值提供對外的公共方法訪問,也就是說我們可以通過set get方法對私有屬性進行訪問,例如:

public void setname(string na) 

public string getname()

public void setage(int age)

public int getage()

封裝例項

public class person 

public string getname()

private int age;

public void setage(int age)

public int getage()

public char get***()

public void set***(char ***)

採用 this 關鍵字是為了解決例項變數(private string name)和區域性變數(setname(string name)中的name變數)之間發生的同名的衝突。

以上例項中public方法是外部兩類訪問該類成員變數的入口(通常這些方法被稱為getter setter方法),因此任何訪問類中的私有成員變數都要通過這些getter和setter方法。

訪問方法:(通過set方法傳遞資料 get方法獲取資料)

public class testperson 

}

執行結果:

d.封裝的好處

增加**的復用性

如:

public class student 

public void setid(int id)

public string getname()

public void setname(string name)

public char get***()

public void set***(char ***)

}}

public class test 

}

顯然對**一次一次的呼叫很麻煩,那麼我們就可以使用乙個函式將其封裝起來,這樣就減少了**的累贅,如:

public class student 

public void setid(int id)

public string getname()

public void setname(string name)

public char get***()

public void set***(char ***)

} public void setprop(string name,int id,char ***)

}public class test

}

物件導向的三大特性 封裝

封裝即隱藏細節,將功能的實現看成是乙個整體,使開發人員更專注與業務的編寫,類封裝了屬性和方法,方法封裝了業務功能 屬性的封裝為了避免非法資料的寫入,並防止外部的直接訪問 對屬性私有化 private 為屬性提供getter或者setter方法 按照set get屬性名起方法名 對使用者類進行封裝 p...

Python 物件導向三大特性 封裝

封裝,顧名思義就是將內容封裝到某個地方,以後再去呼叫被封裝在某處的內容。封裝重點 1.def init self 構造方法 雖然它是函式形式,但在類中就不叫函式了 叫方法 2.value 私有 隱藏 屬性,只能在類中被呼叫。3.def func self 私有 隱藏 方法,只能在類中被呼叫。示例1 ...

物件導向三大特性之封裝

物件導向的三大基本特徵 封裝 封裝是指將物件的實現細節隱藏起來,然後通過公共的方法來向外暴露該物件的事功能。繼承 即城市物件導向實現軟體服用的重要手段,當子類繼承父類後,子類是一種特殊的父類,能直接或間接獲得父類的成員。多型 多型是可以直接把子類物件賦給父類變數,但是執行時依然表現出子類的行為特徵,...