|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
# 。。。。。。。。。。。。。。继承。。。。。。。。。。。。。。。。。。。。。
# ① 子类可以继承父类的所有属性和方法,私有除外
# ② 子类可以重写和重用父类的属性和方法
# ③ 子类可以拓展新的属性和方法
# ④ 一个子类可以继承多个父类
# ⑤ 一个父类也可以被多个子类继承
# ⑥ C继承B,B继承A,C也会继承A的所有属性和方法。
# 创建父类-基类
class Person():
def __init__(self,name,age):
self.name = name
self.age = age
def __str__(self):
return f"我叫{self.name},我{self.age}岁了。"
def walk(self):
print("人类都是双足行走的!")
def speak(self):
print("人类都会说话!")
# 创建子类-派生类
class Chinese(Person):
def __init__(self,name,age,nationality):
super().__init__(name,age) # 继承父类的属性
self.nationality = nationality # 拓展新的属性
def speak(self): # 重写父类的方法
print(f"{self.nationality}人说{self.nationality}话")
super().speak() # 重用父类的方法
def like(self): # 拓展新的方法
print(f"{self.nationality}人都喜欢吃饺子。。。")
class Japanese(Person):
def __init__(self,name,age,nationality):
Person.__init__(self,name,age) # 继承父类的属性
self.nationality = nationality # 拓展新的属性
def speak(self): # 重写父类的方法
print(f"{self.nationality}人说{self.nationality}话")
Person.speak(self) # 重用父类的方法
def like(self): # 拓展新的方法
print(f"{self.nationality}人都喜欢吃核污染的生鱼片。。。")
class Indine(Chinese,Japanese): # 一个子类继承多个父类
def __init__(self,name,age,nationality):
Person.__init__(self,name,age) # 继承父类的属性
self.nationality = nationality # 拓展新的属性
def speak(self): # 重写父类的方法
print(f"{self.nationality}人说{self.nationality}话")
Person.speak(self) # 重用父类的方法
def like(self): # 拓展新的方法
print(f"{self.nationality}人都喜欢用手吃饭。。。")
super().like()
Japanese.like(self)
# 创建对象
zs = Person("张三",18)
ls = Chinese("李四",20,"中国")
zz = Japanese("井底王八",30,"日本")
yy = Indine("安很莎",6,"印度")
|
|