19日目:オブジェクト指向のクラス[]静的プロパティ/静的プロパティ/メソッドのクラスのメソッド

静的プロパティ@property 

1  クラス母:
 2      性別= " " 
3。     DEF  __init__ (セルフ、名前、体重):
 4          self.name = 。5          = self.weight 重量
 6。      @Property 静的メソッド
7      製方法に
8。     DEFのcook_dinner(自己):
 9          リターン " %のS今日であり、ケーキ"(self.name)
 10  
。11 M1 =ママ(' XFD '、120 12である エラー時にプリント(m1.cook_dinner())#この実行
13  印刷(m1.cook_dinner) は、メソッドを呼び出して、実際には、通話データの属性であると思われる
14  @Property隠された機能は、外部ディスプレイの役割を属性、同じデータ属性のようです

静的な方法:私は卵を感じませんでした

1  クラス母:
 2      性別= " " 
3。     DEF  __init__ (自己、名前、体重):
 4          self.name = 。5          = self.weight 重量
 6。      @staticmethodの7。     DEF CLEAN_UP(A、B): 自己ではありません結合および実施例
8に         戻り 、 " XFDがS%をワイピングし、Sは%"(A、B)
 。9      DEFのclean_up1(A、B):
 10          リターン " XFDがS%をワイピングし、S%"(A、B)
 。11  12は プリント(Mom.clean_up(' '" 糞便")) テーブルを拭いたXFD、スツール
13は、 M1 =ママ(" XFD "、110 14  プリント(m1.clean_up(' '" スツール"))#のインスタンスを呼び出すことができる
15  #1 @staticmethodクラスツールキット
16の #は、クラス、インスタンスと結合しない、と結合しないが
。17  Mom.clean_up1(1,2)がこのコールである
18である #1 m1.clean_up1(1,2- )これを呼び出すことはできません。なぜ?
19  (お電話の際に渡す)、M1(自分自身を入れて、私たちは確かにエラー咳を定義しない)
20  @staticmethodを追加し、どのような違いなしでそれをしませんか?
21のだけ名目上機密管理、あなたはクラス変数とインスタンス変数を使用することはできません静的メソッド
@staticmethod

クラスメソッド

要件:関数属性クラスを呼び出す方法の例を使用しないでください

クラスママ:
    性別 = 
    デフ __init__ (セルフ、名前、体重):
        self.name = 名前
        self.weight = 重量
     #の@を#静的メソッドプロパティ
    メソッドには、作られた 
    @classmethod #のクラスの使用に特化方法
    DEFを cook_dinner(CLS): は、このキーワードのCLSのを覚えて
        #をこのメソッドの呼び出しのためのクラス定義に専念するために、クラスメソッドを使用した場合
        のリターン のケーキであることを本日%のSを(cls.gender) 

    DEFのcook_dinner(セルフ): 
         %(self.name)「%sの今日はケーキであることを、」戻ります

印刷(Mom.gender)
M1 =ママ(" XFD "" 110 " 参照するには印刷(Mom.cook_dinner(M1))#このコール。

印刷(M1.cook_dinner()) あなたはクラスのメソッドを使用している場合のみ、例の方法で呼び出すことができるクラスのメソッドを実行する、それがない例で、それが直接呼び出し、どのように
#の@classmethodこのクラスのクラスメソッドの前に置かれたが、直接することができコール(CLS)
クラスメソッド@classmethod

注:クラスメソッド:私はないCLSのinitデータ属性を行うクラス属性データを呼び出すだけ覚えておいてください。それは使用例です!

 

おすすめ

転載: www.cnblogs.com/sunjinchao/p/11108745.html