俩个子类狗狗和猫类,狗狗有品种(strain),猫类有爱好(hobby),重写父类toString()方法
时间: 2024-02-24 16:58:56 浏览: 57
实现猫和狗图像的二分类
好的,针对您的问题,我来为您解答。
首先,我们需要定义一个父类 Animal,包含属性 name 和 age,以及一个重写了 toString 方法的方法:
```python
class Animal:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f"{self.name} is {self.age} years old."
```
然后,我们定义两个子类 Dog 和 Cat:
```python
class Dog(Animal):
def __init__(self, name, age, strain):
super().__init__(name, age)
self.strain = strain
def __str__(self):
return f"{self.name} is a {self.strain} dog, {self.age} years old."
class Cat(Animal):
def __init__(self, name, age, hobby):
super().__init__(name, age)
self.hobby = hobby
def __str__(self):
return f"{self.name} is a cat, {self.age} years old, and likes {self.hobby}."
```
在这里,我们可以看到,Dog 类重写了 toString 方法,增加了一个 strain 属性,而 Cat 类也重写了 toString 方法,增加了一个 hobby 属性。
最后,我们可以创建几个实例来测试一下:
```python
dog = Dog("Tommy", 3, "Golden Retriever")
cat = Cat("Kitty", 2, "sleeping")
print(dog) # 输出:Tommy is a Golden Retriever dog, 3 years old.
print(cat) # 输出:Kitty is a cat, 2 years old, and likes sleeping.
```
希望这个例子能够帮助您理解子类的继承和方法重写。
阅读全文