加载中…
个人资料
MXi4oyu
MXi4oyu
  • 博客等级:
  • 博客积分:0
  • 博客访问:28,331
  • 关注人气:24
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

[转载]Python编程系列教程第14讲——继承

(2013-09-09 17:15:26)
标签:

转载

分类: Python

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

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

http://itbook.taobao.com/

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

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

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

好了,下面我们言归正传,一起学习下本节课的内容。说到继承这个概念,其实大家并不陌生。在我们现实生活中就有很多继承的例子,比如子承父业。再比如哺乳动物,他们的主要特征有:体表有毛、头、颈、躯干、四肢和尾五个部分;用肺呼吸;体温恒定;大脑较发达;哺乳;胎生。我们人类属于哺乳动物,因此我们人类就继承了哺乳动物的这些特征,同时我们人类也有自己的特征。那么在我们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("我是男人")

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


0

  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有