子类覆盖父类中同名方法,子类__init__()调用父类 __init__()。

第十一次py课

3、子类覆盖父类中同名方法,子类__init__()调用父类 init()。
要求:
(1)创建父类class Person(object),父类包含def init(self,name,age)方法和 def talk(self)方法;
(2)创建子类class Chinese(Person),该子类中的def init(self,name,age,language)方法,属性name和age通过调用父类的__init__方法继承,拥有自己的属性language;并在该子类中定义与父类同名的方法def talk(self),但方法的行为不同,该子类中还定义了方法def walk(self)。
(3)分别创建父类对象和子类对象,调用其类中对应的方法。
示例如下:
在这里插入图片描述

class Person(object):
    def __init__(self, name, age):
        self.name = name
        self.age = age
    def talk(self):
        print('Person is talking....(父类talk方法调用)')

class Chinese(Person):
    def __init__(self,name,age,language):
        super().__init__(name,age)
        self.language = language
        print(self.language,self.name,self.age,'(实例化子类时输出)')

    def talk(self):
        print('%s is speaking %s'%(self.name,self.language),'(子类talk方法调用)')

    def walk(self):
        print('%s is walking ...' % (self.name),'(子类walk方法调用)')

a = Person('小明',22)
a.talk()
b = Chinese('小明',22,'汉语')
b.talk()
b.walk()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值