码迷,mamicode.com
首页 > 编程语言 > 详细

python设计模式1:python中类的继承

时间:2015-10-04 23:34:56      阅读:514      评论:0      收藏:0      [点我收藏+]

标签:

在面向对象的程序设计中,继承(Inheritance)允许子类从父类那里获得属性和方法,同时子类可以添加或者重载其父类中的任何方法。在C++和Java的对象模型中,子类的构造函数会自动调用父类的构造函数,但在Python中却不是这样,你必须在子类中显示调用父类的构造函数。

In [1]: class Employee:
   ...:     def __init__(self,name,salary=0):
   ...:         self.name = name
   ...:         self.salary = salary
   ...:         

In [2]: class Designer(Employee):
            def __init__(self,name):
   ...:         self.name = name
   ...:                 

In [3]: d = Designer("alex")

In [4]: d.salary
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-4-c8934453b0a8> in <module>()
----> 1 d.salary

AttributeError: Designer object has no attribute salary

In [5]: e = Employee(alex)

In [6]: e.salary
Out[6]: 0
    

可以看出子类Designer没有继承父类的初始化函数,如果需要继承,则需要加上:Employee.__init__(self, name, 5000).

 

python设计模式1:python中类的继承

标签:

原文地址:http://www.cnblogs.com/alexkn/p/4855141.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!