Python

え?getterとsetter??🐍

Python

getterとsetterは、プログラミングにおけるオブジェクト指向の概念

クラス内の変数にアクセスするための特別なメソッドです。

getter

getterは、データメンバーの値を取得するためのメソッド

通常、getterメソッドはデータメンバーの値を返すだけであり、データメンバーの値を変更することはない

getterメソッドは、データメンバーを外部から読み取るために使用される

setter

setterは、データメンバーの値を設定するためのメソッド

setterメソッドは通常、引数として新しい値を受け取り、その値をデータメンバーに代入する

setterメソッドは、データメンバーを外部から更新するために使用される

pythonでの実装例

class Person:
    def __init__(self, name):
        self._name = name
    # getter
    def get_name(self):
        return self._name
    # setter
    def set_name(self, new_name):
        self._name = new_name
# Personオブジェクトの使用例
person = Person("Alice")
print(person.get_name())  # 出力: Alice
person.set_name("Bob")
print(person.get_name())  # 出力: Bob

結局なんなの

値を取り出すものと値を変更するものを分けましょうねって考え方

Pythonを使っているとあまり意識する機会なかった気がする

というかPythonってオブジェクト指向をしっかり意識してプログラム書いていくの難しいよね(自由度が高いから?)

それがPythonの良いところではあるんだけど

getter/setterは善悪議論があるらしいので興味がある方は是非

【入門】結局getter/setterは悪なのか

コメント