継承

クラスを継承する機能は、 オブジェクト指向プログラミングの根幹をなします。 Python は、 単一継承と多重継承の両方をサポートしています。 単一継承 は、 スーパークラスが 1 つしか存在できないことを意味します。 多重継承 は、 複数のスーパークラスが存在できることを意味します。

継承は、他のクラスのサブクラスを定義することで実装します。 任意の数の Python クラスを スーパークラスにすることができます。 Python の Jython 実装では、 直接または間接に継承できる Java クラスは 1 つだけです。 スーパークラスを指定する必要はありません。

スーパークラス内の属性またはメソッドは、サブクラス内にもあり、クラス自体、または属性またはメソッドが非表示でない限り任意のクライアントによって使用できます。 サブクラスのインスタンスは、スーパークラスのインスタンスを使用できる場所であればどこでも使用できます。これはポリモアフィズムの例です。 これらの機能によって再利用が可能になり、 拡張が容易になります。

class Class1: pass    #no inheritance

class Class2: pass

class Class3(Class1): pass     #single inheritance

class Class4(Class3, Class2): pass     #multiple inheritance