首先看下语法:

X类是Y类的子类,X类就会继承Y类的属性与方法。
各级实例和各级类之间的关系:
- 子类创建的实例也属于父类
- 父类创建的实例不属于子类
- 所有类创建的实例都属于根类(Object)
- 类的继承中子类属于父类,子类创建的实例也属于父类
继承有多层继承和多重继承
多层继承:
子类不仅可以继承父类,还可以继承父类的父类,以此类推
子类可以调用父类的属性与方法,也可以调用父类的父类的属性与方法。这就是多层继承。
#直接运行代码
#明星类
class Star:
glasses = "墨镜"
#音乐人继承了明星
class Musician(Star):
loveMusic = True
# Rapper继承了音乐人
class Rapper(Musician):
pass
csunYuk = Rapper()
print(csunYuk.glasses)
print(csunYuk.loveMusic)
多重继承
一个类可以继承多个类, 语法是class Z(X,Y) 。
比如我们将“说唱家”定义成一个类Rapper,它继承于音乐人与演说家两个类。 那么它的语法就是 class Rapper(Musician,Orator)。 Rapper是Musician的子类,也是Orator的子类。
特别提醒:
class Rapper(Musician,Orator)括号内的父类是有顺序区别的, 与子类Rapper关系更近的父类放在左边。 也就是Rapper类与父类Musician更为相似。
举个例子:
#音乐人
class Musician():
loveMusic = True
def intr(self):
print("我喜欢音乐")
print("我来自音乐界")
#演说家
class Orator():
speak = "流利的说"
def intr(self):
print("我喜欢演说")
print("我来自演讲界")
# Rapper继承了音乐人与演说家
class Rapper(Musician,Orator):
pass
csunYuk = Rapper()
print(csunYuk.loveMusic)
print(csunYuk.speak)
csunYuk.intr()
csunYuk继承了父类Musician的属性loveMusic,也继承了父类Orator的属性speak;当两个父类都具有intr()类方法时,它会优先继承左边的父类,也就是父类Musician的方法。
江湖秘籍: 多重继承中, 子类继承于多个父类的属性与方法, 但是优先继承于左边父类的属性与方法。

类的定制:
Rapper类继承Musician,但是它增加了属性garrulous,增加了方法composition,这就是类的定制。
子类可以在继承父类的基础上进行定制: 可以创建新属性、新方法;也可以改变继承到的属性或方法。
举个例子:
#音乐人
class Musician():
loveMusic = True
def intr(self):
print("我喜欢音乐")
print("我来自音乐界")
def sing(self):
print("我在唱歌")
# Rapper继承音乐人
class Rapper(Musician): #类的继承
garrulous = True #类的定制 , 增加属性
def composition(self): #类的定制, 增加方法
print("我可以创作简单的歌词")
csunYuk = Rapper()
print(csunYuk.loveMusic)
print(csunYuk.garrulous)
csunYuk.composition()
本文介绍了Python中的类与继承概念,包括子类继承父类的属性和方法,多层继承以及多重继承的工作原理。通过示例展示了如何创建子类并调用父类的属性和方法,同时解释了在多重继承中如何处理方法冲突。最后,讨论了类的定制,即在继承基础上如何增加新的属性和方法。
322

被折叠的 条评论
为什么被折叠?



