Python轻松入门-29 继承

本文通过实例详细介绍了Python中继承的概念及其应用,并演示了如何利用继承简化代码编写过程,同时探讨了函数覆盖这一进阶主题。
视频教程下载链接:http://pan.baidu.com/s/1nvhm3tJ

配套教程下载:http://pan.baidu.com/s/1qYdI6q4

我们来学习继承,继承是在计算机编程中的一个非常重要的概念,在我们讲解之前呢,我们可以拿现实生活中的继承来举例,比如说,基因是可以被继承的,你可能继承了爸爸的鼻子,妈妈的眼睛,姑姑的耳朵等等,所以继承的意思就是说:从某个事物上继承某些东西。这是对于最简单的定义。

那么,继承在计算机中的定义是什么呢?我们不妨创建2个类,第一个类是Parent,第二个类是Child,然后呢,我将展示Child类是如何继承Parent类的,所以首先我们为Parent类创建一个函数,这个函数可以打印出Parent的姓:

 
class Parent(): def print_last_name(self): print("huang")
接下来,我们再来创建另一个类Child,如果我想打印出Child类的“姓”,应该如何实现呢?这里也可以定义一个函数来实现,但是我们并不打算这么做,我们使用继承来实现,这就是我们在类名后面留下一对小括号的原因,在小括号中,我们可以输入你想继承的类的名称,这里我们继承Parent类,所以这里Python就知道说,这个Child类继承的是Parent类,同时也继承了Parent的功能,所以即使Child类是空的,它同样可以打印出“姓“来:
class Child(Parent):
这里,我们再为Child类添加一个打印出“名”的函数:
    def print_first_name(self): print("bangge")
所以,到目前为止,我们定义了2个类,这2个类各自有一个函数,一个是Parent中打印出“姓”的函数,另一个是Child中打印出“名”的函数,但是Python看到的却是Parent类有一个函数打印出“姓”,而Child中实际上有2个函数,一个是打印出“姓”,另一个是打印“名”函数,这是因为Child类继承了Parent类。 我们通过实例大家就更能够理解了,这里创建一个名为oxox的Child类,然后我们通过它调用打印出“姓”和是打印“名”这2个函数:
oxox = Child() oxox.print_last_name() oxox.print_first_name()
运行: 图 5‑8 你看,成功的打印出了姓和名,子类通过继承父类就可以调用父类的方法了。 现在我们来点更高级的玩法,也就是函数覆盖,比如说,这里我们为Child类也添加一个print_last_name函数,然后打印出“wang”
    def print_last_name(self): print("wang")
这里我们仅仅是多定义了一个函数,我们再运行一下: 图 5‑9 你看,输出了不同的结果:这里,我的姓变成了“wang”了?是不是Python搞错了呢?当然不是!这个的专业术语叫“函数覆盖”,也就是说,即使我继承了父类中的函数,但是在子类中也有权决定我要不要继承这个函数,如果不想继承,只需要在子类中定义一个同名同参数的函数来覆盖父类中继承过来的函数,就可以自定义自己的操作了。那么如果子类还是想继承的话,就把这段函数删掉就可以了。这就是关于继承的全部内容。 更多精彩内容尽在视频中! 本文固定链接:http://www.oxox.work/web/python/inherance/ | 虚幻大学

查看原文:http://www.oxox.work/web/python/inherance/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虚坏叔叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值