第十一次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()