BBH
-Biz Branding Hub-
投稿日 : 
2019/12/14
更新日 : 
2019/12/14

【ptyhon】クラスがインターフェースを実装しているかを検証するサンプル

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を実装していません。

Profile

管理人プロフィール

都内でITエンジニアをやってます。
変遷:中規模SES→独立系SIer→Webサービス内製開発
使用技術はその時々でバラバラですが、C#、AWSが長いです。
どちらかと言うとバックエンドより開発が多かったです。
顧客との折衝や要件定義、マネジメント(10名弱程度)の経験あり。
最近はJava+SpringBootがメイン。

Recommend