继承
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
继承是面向对象中的一个十分重要的概念,也是代码复用的一个及其重要的方法。试想我们上一节练习写的Person类,如果我们想再写一个Teacher类,会发现我们要重写一遍Person类的内容,然后再写和Teacher相关的内容。为了减少这些重复的代码就诞生了继承这个概念,通过继承,Teacher可以复用Person的代码,并且只用实现自己独特的那部分功能就可以了。在这里我们管被继承的Person类叫做基类,而继承了Person类基因的Teacher类就是子类。
在之前的课程中,为了方便大家的理解,我们把类模型进行了最大限度的简化,实际上Python中定义的所有类都默认的继承自object这个类。完整的定义一个类的写法应该是这个样子的:
class MyClass(object):
pass
将要继承的类写在类名称后面就可以完成继承,现在让我们来试一下简单的继承。
class Myclass(object):
def __init__(self):
self.name = "Myclass"
print "Initial the class", self.name
def set_name(self, name):
self.name = name
def print_name(self):
print self.name
class MyNewClass(Myclass):
def set_age(self, age):
self.age = age
def print_age(self):
print self.age
a = MyNewClass()
a.set_name("LiLei")
a.set_age(11)
a.print_name()
a.print_age()
可以看到我们的对象既可以使用基类的方法也可以使用子类的方法,而子类并不需要重新编写父类的方法。
在线练习
{$ activeFileHint $}