视频教程下载链接:http://pan.baidu.com/s/1nvhm3tJ 配套教程下载:http://pan.baidu.com/s/1qYdI6q4 我们来学习继承,继承是在计算机编程中的一个非常重要的概念,在我们讲解之前呢,我们可以拿现实生活中的继承来举例,比如说,基因是可以被继承的,你可能继承了爸爸的鼻子,妈妈的眼睛,姑姑的耳朵等等,所以继承的意思就是说:从某个事物上继承某些东西。这是对于最简单的定义。 那么,继承在计算机中的定义是什么呢?我们不妨创建2个类,第一个类是Parent,第二个类是Child,然后呢,我将展示Child类是如何继承Parent类的,所以首先我们为Parent类创建一个函数,这个函数可以打印出Parent的姓:
接下来,我们再来创建另一个类Child,如果我想打印出Child类的“姓”,应该如何实现呢?这里也可以定义一个函数来实现,但是我们并不打算这么做,我们使用继承来实现,这就是我们在类名后面留下一对小括号的原因,在小括号中,我们可以输入你想继承的类的名称,这里我们继承Parent类,所以这里Python就知道说,这个Child类继承的是Parent类,同时也继承了Parent的功能,所以即使Child类是空的,它同样可以打印出“姓“来:
这里,我们再为Child类添加一个打印出“名”的函数:
所以,到目前为止,我们定义了2个类,这2个类各自有一个函数,一个是Parent中打印出“姓”的函数,另一个是Child中打印出“名”的函数,但是Python看到的却是Parent类有一个函数打印出“姓”,而Child中实际上有2个函数,一个是打印出“姓”,另一个是打印“名”函数,这是因为Child类继承了Parent类。
我们通过实例大家就更能够理解了,这里创建一个名为oxox的Child类,然后我们通过它调用打印出“姓”和是打印“名”这2个函数:
运行:
图 5‑8
你看,成功的打印出了姓和名,子类通过继承父类就可以调用父类的方法了。
现在我们来点更高级的玩法,也就是函数覆盖,比如说,这里我们为Child类也添加一个print_last_name函数,然后打印出“wang”
这里我们仅仅是多定义了一个函数,我们再运行一下: 图 5‑9 你看,输出了不同的结果:这里,我的姓变成了“wang”了?是不是Python搞错了呢?当然不是!这个的专业术语叫“函数覆盖”,也就是说,即使我继承了父类中的函数,但是在子类中也有权决定我要不要继承这个函数,如果不想继承,只需要在子类中定义一个同名同参数的函数来覆盖父类中继承过来的函数,就可以自定义自己的操作了。那么如果子类还是想继承的话,就把这段函数删掉就可以了。这就是关于继承的全部内容。 更多精彩内容尽在视频中!