2. 需求:首先定义一个类Animal,类中定义一个方法play()方法, 创建一个猫Cat类,继承Animal并重写play方法输出“猫,玩老鼠”, 创建一个狗类, 继承Animal并重写play方法输出“狗,玩球”。 最后编写测试类TestDemo,通过多态(向上造型)创建猫,通过多态(向上造型)创建狗, 并调用猫对象的play方,狗对象的play方法
时间: 2024-03-14 09:43:13 浏览: 70
好的,以下是代码实现:
```python
# 定义 Animal 类
class Animal:
def play(self):
pass
# 定义 Cat 类,继承自 Animal 类
class Cat(Animal):
def play(self):
print("猫,玩老鼠")
# 定义 Dog 类,继承自 Animal 类
class Dog(Animal):
def play(self):
print("狗,玩球")
# 测试类
class TestDemo:
def test(self):
# 创建猫对象
cat = Cat()
# 创建狗对象
dog = Dog()
# 调用猫对象的 play 方法
cat.play()
# 调用狗对象的 play 方法
dog.play()
# 创建 TestDemo 对象并调用 test 方法
test_demo = TestDemo()
test_demo.test()
```
输出结果为:
```
猫,玩老鼠
狗,玩球
```
相关问题
首先定义一个类Animal,类中定义一个属性color,一个方法play(),创建 一个猫Cat类,继承Animal并重写play方法输出“我是猫,我玩老鼠”,创建一个狗类, 继承Animal并重写play方法输出“我是狗,我玩球”。最后编写测试类TestDemo,通 过多态创建猫,通过多态创建狗,并调用猫对象的play方法,狗对象的play方法。
好的,以下是代码实现:
```python
# 定义 Animal 类
class Animal:
def __init__(self, color):
self.color = color
def play(self):
pass
# 定义 Cat 类,继承 Animal
class Cat(Animal):
def play(self):
print("我是猫,我玩老鼠")
# 定义 Dog 类,继承 Animal
class Dog(Animal):
def play(self):
print("我是狗,我玩球")
# 定义测试类 TestDemo
class TestDemo:
def play(self, animal):
animal.play()
# 创建猫对象,通过多态调用 Cat 的 play 方法
cat = Cat("white")
test = TestDemo()
test.play(cat)
# 创建狗对象,通过多态调用 Dog 的 play 方法
dog = Dog("black")
test.play(dog)
```
输出结果为:
```
我是猫,我玩老鼠
我是狗,我玩球
```
希望能够帮到你!
java首先定义一个类Animal,类中定义一个属性color,一个方法play(),创建 一个猫Cat类,继承Animal并重写play方法输出“我是猫,我玩老鼠”,创建一个狗类, 继承Animal并重写play方法输出“我是狗,我玩球”。最后编写测试类TestDemo,通 过多态创建猫,通过多态创建狗,并调用猫对象的play方法,狗对象的play方法。
好的,以下是 Java 代码实现:
```java
// Animal 类
class Animal {
protected String color;
public Animal(String color) {
this.color = color;
}
public void play() {
System.out.println("我是动物,我在玩");
}
}
// Cat 类,继承 Animal
class Cat extends Animal {
public Cat(String color) {
super(color);
}
@Override
public void play() {
System.out.println("我是猫,我玩老鼠");
}
}
// Dog 类,继承 Animal
class Dog extends Animal {
public Dog(String color) {
super(color);
}
@Override
public void play() {
System.out.println("我是狗,我玩球");
}
}
// TestDemo 类
class TestDemo {
public void play(Animal animal) {
animal.play();
}
}
// 测试类
public class Main {
public static void main(String[] args) {
// 创建猫对象,通过多态调用 Cat 的 play 方法
Animal cat = new Cat("白色");
TestDemo test = new TestDemo();
test.play(cat);
// 创建狗对象,通过多态调用 Dog 的 play 方法
Animal dog = new Dog("黑色");
test.play(dog);
}
}
```
输出结果为:
```
我是猫,我玩老鼠
我是狗,我玩球
```
希望对你有所帮助!
阅读全文