Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでの継承


この記事では、Python3.xでの継承と拡張クラスについて学習します。またはそれ以前。

継承は実際の関係をうまく表し、再利用性を提供し、推移性をサポートします。開発時間が短縮され、メンテナンスが容易になり、拡張も容易になります。

継承は大きく5つのタイプに分類されます-

  • シングル
  • 複数
  • 階層的
  • マルチレベル
  • ハイブリッド

Pythonでの継承

上の図に示されているように、継承とは、実際に親クラスのオブジェクトを作成せずに、他のクラスの機能にアクセスしようとするプロセスです。

ここでは、単一の階層型継承の実装について学習します。

単一継承

# parent class
class Student():
   # constructor of parent class
   def __init__(self, name, enrollnumber):
      self.name = name
      self.enrollnumber = enrollnumber
   def display(self):
      print(self.name)
      print(self.enrollnumber)
# child class
class College( Student ):
   def __init__(self, name, enrollnumber, admnyear, branch):
      self.admnyear = admnyear
      self.branch = branch
      # invoking the __init__ of the parent class
      Student.__init__(self, name, enrollnumber)
# creation of an object for base/derived class
obj = College('Rohit',42414802718,2018,"CSE")
obj.display()

出力

Rohit
42414802718

多重継承

# parent class
class Student():
   # constructor of parent class
   def __init__(self, name, enrollnumber):
      self.name = name
      self.enrollnumber = enrollnumber
   def display(self):
      print(self.name)
      print(self.enrollnumber)
# child class
class College( Student ):
   def __init__(self, name, enrollnumber, admnyear, branch):
      self.admnyear = admnyear
      self.branch = branch
      # invoking the __init__ of the parent class
      Student.__init__(self, name, enrollnumber)
# child class
class University( Student ):
   def __init__(self, name, enrollnumber, refno, branch):
      self.refno = refno
      self.branch = branch
      # invoking the __init__ of the parent class
      Student.__init__(self, name, enrollnumber)
# creation of an object for base/derived class
obj_1 = College('Rohit',42414802718,2018,"CSE")
obj_1.display()
obj_2 = University ('Rohit',42414802718,"st2018","CSE")
obj_2.display()

出力

Rohit
42414802718
Rohit
42414802718

結論

この記事では、Pythonでの継承について、広く単一の階層的な継承について学びました。


  1. Pythonでのクラスと継承の概要

    オブジェクト指向プログラミングは、プロジェクトでのコードの冗長性を防ぐために、再利用可能なコードパターンを作成します。リサイクル可能なコードを作成する1つの方法は、あるサブクラスが別の基本クラスのコードを利用する場合の継承です。 継承とは、クラスが別のクラス内で記述されたコードを使用する場合です。 子クラスまたはサブクラスと呼ばれるクラスは、親クラスまたは基本クラスからメソッドと変数を継承します。 ChildサブクラスはParent基本クラスから継承しているため、ChildクラスはParentのコードを再利用でき、プログラマーが使用するコード行を減らし、冗長性を減らすことができます。 派

  2. Pythonでクラス継承はどのように機能しますか?

    クラスの継承 クラスを新たに定義する代わりに、新しいクラス名の後に括弧で囲まれた親クラスをリストすることにより、既存のクラスからクラスを派生させてクラスを作成できます。 子クラスはその親クラスの属性を継承し、それらの属性を子クラスで定義されているかのように使用できます。子クラスは、親のデータメンバーとメソッドをオーバーライドすることもできます。 構文 派生クラスは、親クラスとほとんど同じように宣言されます。ただし、継承する基本クラスのリストは、クラス名の後に示されています- class SubClassName (ParentClass1[, ParentClass2, ...]): &