查看“Python类的派生与继承”的源代码
←
Python类的派生与继承
跳转至:
导航
,
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==派生与继承== 继承就是子类继承父类的特征和行为,使得代码能够复用; 声明继承之后,子类(派生类)就可以使用父类所有的变量和方法; 如果有变量和方法父类当中不存在,子类可以自己定义。 定义一个学生类Student,包含姓名name,性别gender,年龄age,还包含所学专业major,所在系别dept,那么就不必要重新定义Student类,只要从已经定义的Person类派生与继承过来就是了。 例如: ===Person类=== <nowiki> class Person: def __init__(self,name,gender,age): self.name=name self.gender=gender self.age=age def show(self,end='\n'): print(self.name,self.gender,self.age,end=end) </nowiki> ===Student类=== <nowiki> class Student(Person): def __init__(self,name,gender,age,major,dept): Person.__init__(self,name,gender,age) self.major=major self.dept=dept if __name__ =="__main__": s=Student("james","male",20,"software","computer") s.show() </nowiki> ==继承类构造函数== 从上面的Student类的定义可以看出派生类的构造函数除了要完成自己的新增加的major,dept属性的初始化外,还要调用基类Person的构造函数,而且还要显示调用,即: Person.__init__(self,name,gender,age) 通过类名称Person直接调用Person的__init__函数,并提供所要的4个参数。继承类是不会自动调用基类的构造函数的,必须显示调用。 在python中继承中的一些特点: *在继承中基类的构造(__init__()方法)不会被自动调用,它需要在其派生类的构造中亲自专门调用。有别于C# *在调用基类的方法时,需要加上基类的类名前缀,且需要带上self参数变量。区别于在类中调用普通函数时并不需要带上self参数 *Python总是首先查找对应类型的方法,如果它不能在派生类中找到对应的方法,它才开始到基类中逐个查找。(先在本类中查找调用的方法,找不到才去基类中找)
返回至
Python类的派生与继承
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息