python3-----继承 重载

时间:2019-02-16
本文章向大家介绍python3-----继承 重载,主要包括python3-----继承 重载使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

通过继承,新类可以获得现有类的属性和方法。新类可以称作子类或者派生类,被继承的现有的类称作父类或者超类。
在子类(派生类)中,可以定义新的属性和方法,从而完成对父类(超类)的扩展。
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运算,即删除索引或分片。