class紹介

1546 ワード

  • クラス(Class):同じ属性とメソッドを持つオブジェクトのセットを記述するために使用されます.コレクション内の各オブジェクトに共通するプロパティとメソッドを定義します.オブジェクトはクラスのインスタンスです.
  • クラス変数:クラス変数はインスタンス化されたオブジェクト全体で共通です.クラス変数はクラス内で定義され、関数体の外にあります.クラス変数は通常、インスタンス変数として使用されません.
  • データ・メンバー:クラス変数またはインスタンス変数は、クラスおよびそのインスタンス・オブジェクトに関するデータを処理するために使用されます.
  • メソッド書き換え:親クラスから継承されたメソッドが子クラスのニーズを満たすことができない場合は、メソッドの上書き(override)と呼ばれ、メソッドの書き換えとも呼ばれるメソッドを書き換えることができます.
  • インスタンス変数:現在のインスタンスのクラスにのみ使用されるメソッド内の変数を定義します.
  • 継承:派生クラス(derived class)がベースクラス(base class)を継承するフィールドとメソッドです.継承により、派生クラスのオブジェクトをベースクラスオブジェクトとして扱うこともできます.たとえば、DogタイプのオブジェクトがAnimalクラスから派生し、DogもAnimalであるという設計があります.
  • インスタンス化:クラスのインスタンス、クラスの特定のオブジェクトを作成します.
  • メソッド:クラスで定義された関数.
  • オブジェクト:クラスによって定義されたデータ構造のインスタンス.オブジェクトには、2つのデータ・メンバー(クラス変数とインスタンス変数)とメソッドが含まれます.
  • # ` , , ;
    
    class animal():
        # 
        eyes =2
        legs =4
    
        # , 
        def __init__(self,name):
            self.name = name
    
    cat = animal('cat')
    print (cat.name,cat.legs)
    
    cat 4
    

    クラスのプライベート化
    class animal():
        # ( )
        _eyes =2
        __legs =4
    
        # , 
        def __init__(self,name):
            self.name = name
    
        # __legs
        def getLegs(self):
            return self.__legs
    
        # __legs
        def setLegs(self,legs):
            self.__legs = legs
    
    cat = animal('cat')
    cat._eyes = 3
    print (cat.name,cat._eyes)
    
    # 
    dog = animal('dog')
    print(dog.getLegs())
    # 
    dog.setLegs(20)
    print(dog.getLegs())
    # 
    dog._animal__legs = 40
    print(dog._animal__legs)
    
    out:
    cat 3
    4
    20
    40