博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python编程系列教程第14讲——继承
阅读量:6581 次
发布时间:2019-06-24

本文共 1536 字,大约阅读时间需要 5 分钟。

分享知识,分享快乐,收获友谊,收获财富!

大家好,我是数字雨,QQ:798033502

今天给大家带来的教程是《Python编程系列教程第14讲——继承》

我这个教程最开始是以《Python3程序开发指南》为教材进行录制的,因此就有很多朋友过来问我还有没有这本书。让大家失望的是现在很多地方都缺货。不过还好有电子版的,今天我会打包到教程中。

另外:中秋佳节来临之际,Python编程系列教程1-15讲全部免费看。我将把这1-15课重新上传一次,最新的下载地址课后会在我的新浪博客。想跟我博客做友情链接的朋友,只要在我的博客留言,我基本上来着不拒。

好了,下面我们言归正传,一起学习下本节课的内容。说到继承这个概念,其实大家并不陌生。在我们现实生活中就有很多继承的例子,比如子承父业。再比如哺乳动物,他们的主要特征有:体表有毛、头、颈、躯干、四肢和尾五个部分;用肺呼吸;体温恒定;大脑较发达;哺乳;胎生。我们人类属于哺乳动物,因此我们人类就继承了哺乳动物的这些特征,同时我们人类也有自己的特征。那么在我们Python中,一个新类可以通过继承来获得已有类的方法和属性。被继承的类我们称之为父类。继承类我们称之为子类。通过继承而来的类也可以自己定义新的方法和属性。

python在类名后用一对圆括号表示继承关系, 括号中的类表示父类,如果父类定义了__init__方法,则子类必须显示地调用父类的__init__方法,如果子类需要扩展父类的行为,可以添加__init__方法的参数。我们来看下面这个例子:

classAnimal:

    __blood='2500ML' #私有属性

    def __init__(self,height,weight):

        self.height=height

        self.weight=weight

    def speek(self):

        print("speek")

    def run(self):

        print("run")

    def __fly(self): #私有方法

        print("fly")

 

classPeople(Animal):

    def __init__(self,height,weight,name): #添加name属性

        Animal.__init__(self,height,weight) #显示调用父类的__init__方法

        self.name=name

        print("I Am{0}".format(self.name))

 

 

if__name__=='__main__':

    p=People('170','50','jack')

    #父类的私有成员不能被子类调用

    #print(p.__blood)  #(错误的写法)

#p.__fly()        #(错误的写法)

 

继承的好处之一就是提供代码的重用性,在Python中是支持多重继承的。多重继承是指创建的类拥有几个类的属性和方法。即一个子类可以有多个父类。在类名后面的圆括号中包含多个父类名,父类名以逗号隔开。比如我们创建一个Man这个类,即继承自Animal类也继承自People,代码如下:

classMain(People,Animal):

    def__init(self,height,weight,name):

        Animal.__init__(self,height,weight)

       People.__init__(self,height,weight,name)

        print("我是男人")

注意:多继承中如果同时继承父类和父类的父类(爷爷类),那么要把父类写在爷爷类前面,否则会报错。

转载于:https://www.cnblogs.com/secbook/p/3309341.html

你可能感兴趣的文章
登录注册界面
查看>>
poj1985 求树的直径
查看>>
Python PyPI中国镜像
查看>>
centos 设置静态IP
查看>>
[Angularjs]系列——学习与实践
查看>>
js -- canvas img 封装
查看>>
转 我们工作的动力是什么 工作最终是为了什么?
查看>>
测试一个网站的最大并发量并发数并发用户
查看>>
适配器模式(数据库方面)支持不同的数据库连接
查看>>
Jenkins(二) 安装、新建Jobs与删除及SVN配置(转)
查看>>
CF456B Fedya and Maths 找规律
查看>>
touch修改mtime和atime
查看>>
nodejs安装及windows环境配置
查看>>
转载:Beginning WF 4.0翻译——第三章(流程图工作流)
查看>>
mysql alter table
查看>>
芯片测试
查看>>
记录一次tomcat下项目没有加载成功
查看>>
在源代码中插入防止盗版代码片段的方式
查看>>
hdu 3367 Pseudoforest(最大生成树)
查看>>
Spring mvc PostgreSQL 插入timestamp和int8
查看>>