鱼C论坛

 找回密码
 立即注册
查看: 110|回复: 0

[见证历程] 类的继承

[复制链接]
发表于 2024-7-27 08:05:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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,"印度")



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-8 07:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表