创建一个动物类,有属性:品种,颜色;有一个方法:吃饭。要求:需要写两个以上构造函数,按需要写get,set方法。 (2)创建两个类Dog和Cat,继承动物父类,重写吃饭方法
时间: 2024-09-10 21:02:35 浏览: 48
说明形式如下-java类与对象
<<首先,我们将创建一个名为“Animal”的动物类。这个类将包含两个属性:品种(breed)和颜色(color),以及一个方法:吃饭(eat)。为了满足要求,我们将提供两个不同的构造函数,并实现相应的getter和setter方法。
下面是Animal类的代码示例:
```java
public class Animal {
private String breed; // 品种
private String color; // 颜色
// 第一个构造函数,只接收品种和颜色作为参数
public Animal(String breed, String color) {
this.breed = breed;
this.color = color;
}
// 第二个构造函数,除了品种和颜色外,还可以接收一个额外的参数(例如年龄)
public Animal(String breed, String color, int age) {
this.breed = breed;
this.color = color;
// 这里可以添加对age的操作,例如设置年龄
}
// 品种的getter方法
public String getBreed() {
return breed;
}
// 品种的setter方法
public void setBreed(String breed) {
this.breed = breed;
}
// 颜色的getter方法
public String getColor() {
return color;
}
// 颜色的setter方法
public void setColor(String color) {
this.color = color;
}
// 吃饭方法,具体行为由子类重写
public void eat() {
System.out.println("这个动物正在吃东西。");
}
}
```
接下来,我们将创建两个子类:Dog和Cat,它们都继承自Animal类,并重写吃饭方法:
```java
public class Dog extends Animal {
// 可以添加Dog特有的属性和方法
// 构造函数,调用父类的构造函数
public Dog(String breed, String color) {
super(breed, color);
}
// 重写吃饭方法
@Override
public void eat() {
System.out.println("狗正在啃骨头。");
}
}
public class Cat extends Animal {
// 可以添加Cat特有的属性和方法
// 构造函数,调用父类的构造函数
public Cat(String breed, String color) {
super(breed, color);
}
// 重写吃饭方法
@Override
public void eat() {
System.out.println("猫正在吃鱼。");
}
}
```
通过继承Animal类,Dog和Cat类可以共享父类的属性和方法,并且能够提供特定于它们自己行为的实现,如不同的吃饭方式。
阅读全文