オブジェクト指向のPython @propertyデコレータの基礎

デコレータ @propertyは、
メソッドの使用してプロパティになることができる役割をコントロールクラスのメンバーが取得以内に設定し、削除を取得 @property セット @ カスタム名は.setter 削除 @ カスタム名.deleter#メソッドクラスのMyClass():    DEF __init __(自己、名):        self.name名=    #取得     @Property    DEFのユーザー名(セルフ):        リターンself.nameの     #のセット     @のusername.setter    DEFのユーザー名(セルフ、ヴァル):        self.nameヴァル=削除     @ username.deleterの    DEFのユーザー名を(自己):        デルself.name










 












= MyClassのOBJ( "ONE")
は、取得
印刷(obj.username)

セット
obj.username = "TWO"
印刷(obj.username)

削除 デルコールが関連メソッドに削除
デルobj.username
#印刷(obj.usernameを)

#方法2:
クラスMyClass2():
    DEF __init __(自己、名):
        self.name名=

    #の取得方法値
    DEFのget_usrname(セルフ):
        self.nameの返し

    #の値の設定方法
    デフSET_USERNAME(自己、ヴァルを):
        ヴァル= self.nameの

    #値メソッドの削除
    DEFのdel_username(セルフ):
        デルself.nameの

    呼び出し時にクラスがこれらのメソッドの関数として自動的にロードされた#が渡されますが、起動しません
    3つのパラメータを受け取るプロパティ#が従わなければならない:
    値メソッド#(1)取得
    方法#(2)設定値
    #(3)の方法の値を削除し
    、ユーザ名=プロパティ(get_usrname、SET_USERNAME、del_username)
    アドレス=プロパティ(get_usrnameをSET_USERNAME、del_username)

印刷( "=======================")
OBJ = MyClass2( "三")
は、現在のユーザ名の取得
印刷(obj.usernameを)
#の設定
obj.username = "4つの"
#は、値の取得
を印刷(obj.username)

値を削除
デルobj.username
#Print(obj.username)

obj.address = "中国"
印刷(obj.address)
デルをobj.address

 

おすすめ

転載: www.cnblogs.com/hszstudypy/p/10964083.html