Dernière activité 10 months ago

此程式展示 Python 類別的屬性封裝,透過 @property 定義 getter 和 setter 方法,實現安全的屬性訪問與修改,並根據年齡決定遊戲類型。

Révision b091cbe5bd8bb3a7cc09bc5c1760db2683d93715

person_class.py Brut
1# person.py
2
3
4class Person(object):
5
6 def __init__(self, name, age):
7 self._name = name
8 self._age = age
9
10 # 访问器 - getter方法
11 @property
12 def name(self):
13 return self._name
14
15 # 访问器 - getter方法
16 @property
17 def age(self):
18 return self._age
19
20 # 修改器 - setter方法
21 @age.setter
22 def age(self, age):
23 self._age = age
24
25 def play(self):
26 if self._age <= 16:
27 print('%s is playing chess.' % self._name)
28 else:
29 print('%s is playing poker.' % self._name)
30
31
32def main():
33 person = Person('John Doe', 12)
34 person.play()
35 person.age = 22
36 person.play()
37
38
39if __name__ == '__main__':
40 main()
41
42
43
44"""
45from person import Person
46
47person = Person('Jane Doe', 15)
48person.play()
49
50"""