Python轻松入门-29 继承
来源:互联网 发布:百分百营销软件好用吗 编辑:程序博客网 时间:2024/06/05 19:27
视频教程下载链接: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/
0 0
- Python轻松入门-29 继承
- Python轻松入门-30 多重继承
- Python轻松入门-02 数字
- Python轻松入门-05 列表
- Python轻松入门-12 函数
- Python轻松入门-21 集合
- Python轻松入门-23 模块
- Python轻松入门-40 异常
- Python轻松入门-41 线程
- Python轻松入门-01Python的安装
- Python轻松入门-03字符串介绍
- Python轻松入门-06安装PyCharm
- Python轻松入门-07 if elif else
- Python轻松入门-11 continue语句
- Python轻松入门-13 函数返回值
- Python轻松入门-14 参数默认值
- Python轻松入门-16 关键字参数
- Python轻松入门-17 可变参数
- MFC Windows程序设计学习笔记--滚动条
- jsessionid剖析
- 重建二叉树
- poj1751 highways 最小生成树记录路径
- httpwatch使用详解
- Python轻松入门-29 继承
- Spring Boot +Spring AOP 可插拔式日志思路
- 选择价值
- Cannot find module 'laravel-elixir'/工具
- ACM程序设计书中题目L
- L1-019. 谁先倒
- Codeforces #164 C. Beautiful Sets of Points ( 思维
- Eclipse在新建项目时候new中只有poject,example,others解决办法
- 兴趣与工作