Python クラス 抽象クラスと多重継承クラス

抽象クラスとは、継承されて使うことを前提としたクラスで、継承先のクラスで実装されていないとエラーが出る関数を、abc.abstractmethodで指定できる。

import abc
class Person(metaclass=abc.ABCMeta):
    def __init__(self,age=1):
        self.age=age
    
    @abc.abstractmethod
    def drive(self):
        pass
        

class Adult(Person):
    def __init__(self,age=18):
        if age >=18:
            super.__init__(age)
        else:
            raise ValueError
abc.abstractmethod指定関数なしで継承したクラスからのエラー

多重継承のクラスは、優先度の高い方を左側に書く。

class Person(object):
    def talk(self):
        print('talk')
        
class Car(object):
    def drive(self):
        print('drive')

class Robot(Person,Car):
    def autodrive(self):
        print('autodrive')
多重継承クラス

多重継承したクラスで、同じ名前の関数があった場合は、左側のクラスの関数が実行される。

この記事が気に入ったらサポートをしてみませんか?