java宠物类 人类喜欢养宠物猫咪和狗狗,很喜欢给它们取可爱的名字; 宠物有不同的品种、颜色、年龄;它们很喜欢吃饭和睡觉。 要求:使用封装、继承、抽象类等知识点,编程实现。
时间: 2023-07-10 21:14:14 浏览: 50
好的,以下是一个简单的Java宠物类的实现:
```java
// 抽象类,所有宠物的基类
public abstract class Pet {
private String name; // 宠物名字
private String breed; // 宠物品种
private String color; // 宠物颜色
private int age; // 宠物年龄
// 构造函数
public Pet(String name, String breed, String color, int age) {
this.name = name;
this.breed = breed;
this.color = color;
this.age = age;
}
// 获取宠物名字
public String getName() {
return name;
}
// 获取宠物品种
public String getBreed() {
return breed;
}
// 获取宠物颜色
public String getColor() {
return color;
}
// 获取宠物年龄
public int getAge() {
return age;
}
// 抽象方法,宠物吃饭
public abstract void eat();
// 抽象方法,宠物睡觉
public abstract void sleep();
}
// 猫咪类,继承自宠物类
public class Cat extends Pet {
// 构造函数
public Cat(String name, String breed, String color, int age) {
super(name, breed, color, age);
}
// 实现抽象方法,猫咪吃饭
@Override
public void eat() {
System.out.println(getName() + "正在吃猫粮");
}
// 实现抽象方法,猫咪睡觉
@Override
public void sleep() {
System.out.println(getName() + "正在睡觉");
}
}
// 狗狗类,继承自宠物类
public class Dog extends Pet {
// 构造函数
public Dog(String name, String breed, String color, int age) {
super(name, breed, color, age);
}
// 实现抽象方法,狗狗吃饭
@Override
public void eat() {
System.out.println(getName() + "正在吃狗粮");
}
// 实现抽象方法,狗狗睡觉
@Override
public void sleep() {
System.out.println(getName() + "正在睡觉");
}
}
```
使用示例:
```java
public class Main {
public static void main(String[] args) {
Pet cat = new Cat("小猫", "波斯猫", "白色", 1);
Pet dog = new Dog("小狗", "柯基犬", "棕色", 2);
System.out.println(cat.getName() + "的品种是" + cat.getBreed() + ",颜色是" + cat.getColor() + ",年龄是" + cat.getAge());
cat.eat();
cat.sleep();
System.out.println(dog.getName() + "的品种是" + dog.getBreed() + ",颜色是" + dog.getColor() + ",年龄是" + dog.getAge());
dog.eat();
dog.sleep();
}
}
```
输出结果:
```
小猫的品种是波斯猫,颜色是白色,年龄是1
小猫正在吃猫粮
小猫正在睡觉
小狗的品种是柯基犬,颜色是棕色,年龄是2
小狗正在吃狗粮
小狗正在睡觉
```