類的三大特性 封裝以及Property特性

2021-10-02 11:50:18 字數 1986 閱讀 1232

class

people

:def

__init__

(self, height, weight)

: self.height = height

self.weight = weight

@property

# 裝飾器,下面方法的呼叫無需加()

defbmi

(self)

:return self.weight/

(self.height**2)

peo = people(

1.76

,62.5

)# print(peo.bmi())

print

(peo.bmi)

例一:

class

people

:def

__init__

(self, height, weight)

: self.height = height

self.weight = weight

@property

# 裝飾器,下面方法的呼叫無需加()

defbmi

(self)

:return self.weight/

(self.height**2)

@bmi.setter # 在修改bmi的時候出發,必須得加引數

defbmi

(self, value)

:# 函式名不能改,否則報錯

print

('你正在修改bmi'

)

@bmi.deleter # 在刪除bmi的時候觸發,不能加引數

defbmi

(self)

:print

('你正在刪除bmi'

)

peo = people(

1.76

,62.5

)print

(peo.bmi)

peo.bmi =

21del peo.bmi

print

(peo.bmi)

輸出:

20.176911157024794

你正在修改bmi

你正在刪除bmi

20.176911157024794

例二:

class

student

(object):

def__init__

(self, name)

: self.name = name

self.name =

none

@property

defage

(self)

:return self._age

@age.setter

defage(self, value):if

notisinstance

(value,

int)

:raise valueerror(

'輸入不合法:年齡必須為數值!')if

not0

< value <

100:

raise valueerror(

'輸入不合法:年齡範圍必須0-100'

) self._age=value

@age.deleter

defage(self)

:del self._age

xiaoming = student(

"小明"

)# 設定屬性

xiaoming.age =

25# 查詢屬性

xiaoming.age

# 刪除屬性

del xiaoming.age

python類的三大特性 封裝

四 property屬性 封裝 指隱藏物件的屬性和實現細節,不允許外部直接方位物件內部的資訊,僅僅提供公共的訪問方式給外部,實現外部對內部的操作和訪問。封裝的目的 封裝的益處 python中採用雙下劃線開頭的方式將變數設定為私有變數,即 私有變數的特點 classp object def init ...

java三大特性 封裝

1 定義 2 好處 良好的封裝能夠減少耦合。類內部的結構可以自由修改。可以對成員變數進行更精確的控制。隱藏資訊,實現細節。3 關鍵字 封裝使用的關鍵字,封裝的級別 public protected 預設 private 4 例public class person public class pers...

C 三大特性 封裝

封裝 封裝可以隱藏實現細節,使得 模組化 封裝是把過程和資料報圍起來,對資料的訪問只能通過已定義的介面。在物件導向程式設計上可理解為 把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法只讓可信的類或者物件操作,對不可信的進行資訊隱藏。資料抽象是指,只向外界提供關鍵資訊,並隱藏其後台的實現細節,即...