pythonにて、対象のクラスがインターフェースを実装しているかを検証するサンプルを紹介していきます。
クラスがインターフェースを実装しているかを検証するサンプル
from abc import * # インターフェース class IClass(metaclass=ABCMeta): @abstractmethod def test_method(self): pass # インターフェースを実装したクラス class Implemented_Class(IClass): def test_method(self): print('test_method exec') # インターフェースを実装していないクラス class Not_Implemented_Class(): def test_method(self): print('test_method exec') # mainメソッド implemented = Implemented_Class() not_impremented = Not_Impremented_Class() # インターフェースの実装をチェック(implemented) if (issubclass(type(implemented), IClass)): print('implementedはIClassを実装しています。') else: print('implementedはIClassを実装していません。') # インターフェースの実装をチェック(not_implemented) if (issubclass(type(not_implemented), IClass)): print('not_implementedはIClassを実装しています。') else: print('not_implementedはIClassを実装していません。')
実行結果
implementedはIClassを実装しています。 not_implementedはIClassを実装していません。