类的继承

继承是相对两个类而言的父子关系,子类继承了父类的所有公有属性和方法,继承的好处是能够实现代码重用

#!/usr/bin/env python
#-*- coding:utf-8 -*-

class People(object):
    def __init__(self):
        self.name = 'Tom'
        self.age = 23

    def talk(self):
        print('My name is %s' % self.name)
        print('My age is %s' % self.age)

class Chinese(People):    # 表示Chinese这个类继承了People这个类的公有属性和方法,括号里是父类
    pass

if __name__ == '__main__':    # 实例化一个对象,可以通过子类直接使用父类的方法
    cn = Chinese()
    cn.talk()


如果父类定义的__init__方法含有参数,子类必须调用父类的__init__方法,否则会报错:

#!/usr/bin/env python
#-*- coding:utf-8 -*-

class People(object):
    def __init__(self, name, age):    # 这里定义的__init__方法含有参数
        self.name = name
        self.age = age

    def talk(self):
        print('My name is %s' % self.name)
        print('My age is %s' % self.age)

class Chinese(People):    
    def __init__(self):
        People.__init__(self, 'Tom', 23)            # 在继承的时候必须调用父类的__init__方法
    ### super(Chinese, self).__init__('Tom', 23)    # 也可以通过super()函数去继承父类(可选)

if __name__ == '__main__':
    cn = Chinese()
    cn.talk()

 

 

 

 

 

 

 

    

    

posted @ 2019-01-16 22:27  孔雀东南飞  阅读(132)  评论(0编辑  收藏  举报