python 3-----継承リロード

1422 ワード

継承により、新しいクラスは既存のクラスのプロパティとメソッドを取得できます.新しいクラスはサブクラスまたは派生クラスと呼ばれ、継承された既存のクラスは親クラスまたはスーパークラスと呼ばれます.子クラス(派生クラス)では、親クラス(スーパークラス)の拡張を完了するために、新しい属性とメソッドを定義できます.1.継承によってサブクラスのフォーマットを定義できます.
class   (   ):
	      

2.サブクラスのプロパティとメソッドを定義します.pythonでは、サブクラスで独自のプロパティとメソッドを定義できます.サブクラス定義のプロパティとメソッドが親クラスのプロパティとメソッドと同じ名前の場合、サブクラスインスタンスオブジェクトはサブクラスで定義されたプロパティとメソッドを呼び出します.Pythonでは、サブクラスメソッドでクラスオブジェクトを介してスーパークラスのメソッドを直接呼び出すことができます.
メソッドの再ロード:親のメソッドを子クラスのメソッドで上書きします.
3.スーパークラスを呼び出すコンストラクション関数:コンストラクション関数インスタンスオブジェクトを使用して初期化する場合、サブクラスのコンストラクション関数でスーパークラスのコンストラクション関数を呼び出すことができます.
class animal:        #    
		def __init__(self,a):
			self.animal_data = a
class cat(animal):               #    
		   def __init__(self,a,b):                #         
					self.cat_data = a
					animal.__init__(self,b)     #        
c = cat(" ",20)				#        
c.animal_data                                  #      
c.cat_data                                        #          

4.マルチ継承:マルチ継承:子クラスが複数の親を同時に継承できることを意味します.同じ名前の属性またはメソッドが親に存在する場合、Pythonは親に対して左から右の順序でメソッドを検索します.
5.インデックスおよびスライスリロード:インデックスおよびスライスに関連するリロード方法は、次のとおりです.getitem __ __ setitem __ __ delitem __ __ getitem __ このメソッドは、インスタンスオブジェクトがインデックス、スライス、またはfor反復を実行するときに呼び出されます.setitem __ さらに、付与文によってインデックスまたはスライスに値を付与すると、このメソッドが呼び出され、シーケンスオブジェクトの変更が実現されます.delitem __ このメソッドはdel演算を再ロードします.すなわち、インデックスまたはスライスを削除します.