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