コンテンツにスキップ

抽象クラス(Abstract Class)

  • JavaやC++等で提供されている抽象クラス機能をpythonでも使用することが出来る
  • pythonでは本機能の使用はあまり奨励されていない

basic

  • 継承先のベースとして定義するクラス。継承先で定義してほしいメソッドを記述することで継承先のクラスをパターン化出来る
    python ソースコード
    class MyClass(object):
        # コンストラクタ
        def __init__(self,num=1):
            # メンバ変数
            self._num = num
    
        # デストラクタ
        def __del__(self):
            print("finish")
    
        # メソッド
        def output(self):
            self.doubleoutput()
        def doubleoutput(self):
            print(self._num * 2)
    
    #------------------------
    myclass1 = MyClass(10)
    myclass1.output()
    
    myclass2 = MyClass()
    myclass2.output()
    
python 出力結果
20
2
finish
finish

何も書かない場合

  • passを指定するとメンバ変数・メソッド・コンストラクタ等を記述しないクラスを作成出来る
python ソースコード
class VoidClass(object):
    pass
python 出力結果
voidclass = VoidClass()

参考