1. TOP
  2. プログラム
  3. ソフト
  4. python
  5. 属性の取得、設定

属性の取得、設定

公開している

Pythonはすべての属性とメソッドが公開です。
ゲッター、セッターを描き必要はない。
プロパティを使ってアクセスする。

class Duck():
def __init__(self, input_name):
self.hidde_name = input_name
def get_name(self):
print('inseide the getter')
return self.hidden_name
def set_name(self, input_name):
print('inseide the setter')
self.hidden_name = input_name
name = property(get_name. se_name)

このメソッドは、最後の行がなければ通常のゲッター、セッターとして
機能する。最後のは、ふたつのメソッドをnameというプロパティの
セッター、ゲッターとして定義している。property()の第1引数は
ゲッターメソッド、第2引数はセッターメソッドである。
これにより,DUCKオブジェクトのnameを参照すると、実際にはget_name()
メソッドが呼び出される。

fowl = Duck('Howard')
fouwl.name
insaid the getter
'Howard'
それでも、通常のゲッターメソッドのように、get_name()を直接
呼出すこともできる。
fowl.get_name()
insaid the getter
'Howard'
一方、nameプロパティに値を代入すると、set_nameメソッドが呼び出される
fowle.name = 'Daffy'
insaid the setter
fowl.name
insaid the setter
'Daffy'
この場合も、set_name()メソッドを直接呼出すことはできる