10. 编写一个程序,定义一个Animal类,包含属性name和age,以及一个eat()方法。然后定义一个Cat类和一个Dog类继承Animal类,并分别实现它们自己的eat()方法。在主函数中创建一个Cat对象和一个Dog对象,并分别调用它们的eat()方法。
时间: 2024-03-12 17:50:03 浏览: 257
好的,以下是您所要求的Python代码:
```python
class Animal:
def __init__(self, name, age):
self.name = name
self.age = age
def eat(self):
print(f"{self.name} is eating.")
class Cat(Animal):
def eat(self):
print(f"{self.name} is eating fish.")
class Dog(Animal):
def eat(self):
print(f"{self.name} is eating meat.")
cat = Cat("Tom", 3)
dog = Dog("Max", 5)
cat.eat()
dog.eat()
```
在上述代码中,我们首先定义了一个Animal类,该类有一个构造函数,接受参数name和age,并且有一个eat()方法,用于打印出该动物正在吃东西的信息。接下来,我们定义了一个Cat类和一个Dog类,它们都继承自Animal类,并且分别重写了eat()方法。在主函数中,我们创建了一个Cat对象和一个Dog对象,并分别调用它们的eat()方法。输出结果应该如下所示:
```
Tom is eating fish.
Max is eating meat.
```
相关问题
javaI编写程序要求:1. 编写一个接口Animal,其成员变量有name,age,weight表示动物名、年龄和重量。声明方法showInfo( )、move( )和eat( )。 2. 编写一个类Bird实现Animal相应的方法。通过构造方法给name,age,weight分别赋值,showInfo( )打印鸟名、年龄和重量,move( )方法打印鸟的运动方式,eat( )打印鸟喜欢吃的食物。 3. 编写测试类TestAnimal,用Animal类型的变量,调用Bird对象的三个方法。
以下是 Java 代码实现:
Animal.java
```java
public interface Animal {
String name = "";
int age = 0;
double weight = 0.0;
void showInfo();
void move();
void eat();
}
```
Bird.java
```java
public class Bird implements Animal {
private String name;
private int age;
private double weight;
public Bird(String name, int age, double weight) {
this.name = name;
this.age = age;
this.weight = weight;
}
@Override
public void showInfo() {
System.out.println("Bird name: " + this.name);
System.out.println("Age: " + this.age);
System.out.println("Weight: " + this.weight + " kg");
}
@Override
public void move() {
System.out.println("Fly");
}
@Override
public void eat() {
System.out.println("Insects");
}
}
```
TestAnimal.java
```java
public class TestAnimal {
public static void main(String[] args) {
Animal bird = new Bird("Sparrow", 1, 0.1);
bird.showInfo();
bird.move();
bird.eat();
}
}
```
输出结果:
```
Bird name: Sparrow
Age: 1
Weight: 0.1 kg
Fly
Insects
```
声明一个Animal类,将属性name和age封装起来,提供对外的公共访问方法; (2)声明一个Cat类和Dog类,都继承Animal类,分别定义各自的voice方法和eat方法; (3)在main方法中分别实例化一个Cat对象和Dog对象,设置各自的属性并调用voice方法和eat方法,再打印出名字和年龄信息;
好的,你的问题属于计算机科学,可以回答。以下是代码:
```python
class Animal:
def __init__(self, name, age):
self.__name = name
self.__age = age
def get_name(self):
return self.__name
def get_age(self):
return self.__age
class Cat(Animal):
def voice(self):
print('喵喵喵')
def eat(self):
print('吃猫粮')
class Dog(Animal):
def voice(self):
print('汪汪汪')
def eat(self):
print('吃狗粮')
cat = Cat('小猫', 2)
cat.voice()
cat.eat()
print(f'名字:{cat.get_name()},年龄:{cat.get_age()}')
dog = Dog('小狗', 3)
dog.voice()
dog.eat()
print(f'名字:{dog.get_name()},年龄:{dog.get_age()}')
```
输出:
```
喵喵喵
吃猫粮
名字:小猫,年龄:2
汪汪汪
吃狗粮
名字:小狗,年龄:3
```
阅读全文