二十五、pythonにおけるクラスの継承、サブクラスのメソッドの追加、サブクラスのメソッドの上書き、サブクラスのプロパティの追加、および親クラスのプロパティの継続


pythonクラスのメソッドを継承し、現在のクラスを変更しない場合は、サブクラスを新規作成してメソッドを続行できます.
1、クラスの継承、私达は先に1つのAnimalの父のクラスを作成して、私达は更に1つのdogの子のクラスを作成して、dogの子のクラスは父のAnimalの方法を継承して、しかし中はいかなるコードを実行していないで、この时私达はdogの子のクラスを初期化してdog_1、身長と体重も入ってくるのを覚えています.そうしないと、私たちはdogを見つけることができます.1アニマルの属性とメソッドを継承します.直接出力して呼び出します.

class Animal():
    def __init__(self, weight, high):
        self.weight = weight
        self.high = high
    def shout(self):
        print('wow')
class Dog(Animal):
    pass
dog_1 = Dog(20,40)
print(dog_1.high)
print(dog_1.weight)
dog_1.shout()
#     
40
20
wow

2、サブクラスのメソッドの追加、dogというサブクラスに新しいメソッドを追加することができます.例えばrunのメソッドを追加し、dog_を初期化します.1、dog_を見つけることができます1 runという方法もあります.
class Dog(Animal):
    def run(self):
        print('running')
dog_1 = Dog(20,40)
dog_1.run()
#     
running

3、サブクラスのメソッドのオーバーライド、私達は更に1つのサブクラスCatを追加して、同様にAnimalを継承して、しかしあなたはCatがwowのこのように呼ぶのではないことを発見して、だから私達は再びshout関数を定義して、親クラスAnimalの中の関数をオーバーライドします.catを初期化します1 Catサブクラスを呼び出すには、体重と身長を入力する必要があります.そうしないと、shoutメソッドを呼び出すと、出力された内容がmiaoであることがわかります.サブクラスの関数が親クラスの関数を上書きしているからです.
class Cat(Animal):
    def shout(self):
        print('miao')
cat_1 = Cat(20, 40)
cat_1.shout()
#     
miao

4、子クラスの属性の追加、および親クラスの属性の継続、この場合Catに属性colorを追加する場合は、同様に_init__属性を定義しますが、super()を使用して親のweightとhigh、color属性の性を継承し、selfを使用します.colorはcatを使って値を割り当てます2 Catクラスを初期化するときに3つのパラメータを入力し、catを出力します.2.color、正常に呼び出されていることがわかります.
class Cat(Animal):
    def __init__(self, weight, high, color):
        super().__init__(weight, high)
        self.color = color
    def shout(self):
        print('miao')
cat_2 = Cat(20, 40, 'yellow')
print(cat_2.color)
#     
yellow

類の継承はここまで言って、みんなは問題があって私を歓迎します