pythonの抽象クラス

893 ワード

@abstractmethod
a class with an abstract method cannot be instantiated (that is, we cannot create an instance by calling it) unless all of its abstract methods have been defined in subclasses. Although this requires more code and extra knowledge, the potential advantage of this approach is that errors for missing methods are issued when we attempt to make an instance of the class, not later when we try to call a missing method. This feature may also be used to define an expected interface, automatically verified in client classes.
親クラスで@abstractmethod抽象クラスを使用するサブクラスでは、インスタンス化するためにこのabstract methodを明確に定義する必要があります.そうしないと、エラーが発生します.
@abstractmethodを使用する利点は,サブクラスがプログラミング中に必要なmethodを漏らすことを避けることである.
class A(object):
    @abstractmethod
    def b(self):
        raise NotImplementedError
 
class B(A):
    def b(self):
    	print("           ")