理解并解决Python面向对象编程中的继承问题
在Python的面向对象编程中,继承是创建新类的一种方式,它允许新类(子类)吸取已有类(父类)的特性。
以下是一个简单的继承问题和解决方案:
# 定义一个父类
class Animal:
def __init__(self, name):
self.name = name
# 重写父类的方法
def speak(self):
return f"{self.name} speaks."
# 定义一个子类,继承自Animal
class Dog(Animal):
def __init__(self, name, breed="Doggie"):
super().__init__(name)
self.breed = breed
# 重写父类的方法,增加子类特性
def speak(self):
return f"{self.name} (a {self.breed}}) speaks."
# 测试子类
my_dog = Dog("Fido", "Golden Retriever")
print(my_dog.speak()) # 输出:Fido (a Golden Retriever>) speaks.
在上述例子中,Animal
是父类,Dog
是继承自Animal
的子类。子类通过super().__init__(name)
调用父类的构造方法,并可以重写父类的方法来增加子类的独特性。
还没有评论,来说两句吧...