JAVA程序描述: 使用面向对象的思想,编写自定义描述狗的信息。设定属性包括:品种,年龄,心情, 名字;方法包括:叫,跑。 要求: (1)设置属性的私有访问权限,通过公有的get()、set()方法实现对属性的访问。(2)限定心情只能有“心情好”和“心情不好”两种情况,如果无效输入则进行提示,默认设置“心情好”。 (3)设置构造函数实现对属性赋值。 (4)叫和跑的方法,需要根据心情好坏,描述不同的行为方式。im.i1m0 (5)编写测试类,测试类的对象及相关方法(测试数据信息自定义),运行结果如下: 输入信息错误,这只狗狗今天心情很好! 名字叫甜心的责宾犬心情很好,开心地围着主人身边转 名字叫甜心的责宾犬心情很好,开心地汪汪叫 ========================== 名字叫太子的德国牧羊犬心情不好,伤心得一动不动 名字叫太子的德国牧羊犬心情不好,伤心地呜鸣叫
时间: 2023-05-30 14:06:45 浏览: 271
代码如下:
Dog类:
public class Dog {
private String breed;
private int age;
private String mood;
private String name;
public Dog(String breed, int age, String mood, String name) {
this.breed = breed;
this.age = age;
setMood(mood);
this.name = name;
}
public String getBreed() {
return breed;
}
public void setBreed(String breed) {
this.breed = breed;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getMood() {
return mood;
}
public void setMood(String mood) {
if (mood.equals("心情好") || mood.equals("心情不好")) {
this.mood = mood;
} else {
System.out.println("输入信息错误,这只狗狗今天心情很好!");
this.mood = "心情好";
}
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void bark() {
if (mood.equals("心情好")) {
System.out.println("名字叫" + name + "的" + breed + "心情很好,开心地汪汪叫");
} else {
System.out.println("名字叫" + name + "的" + breed + "心情不好,伤心地呜鸣叫");
}
}
public void run() {
if (mood.equals("心情好")) {
System.out.println("名字叫" + name + "的" + breed + "心情很好,开心地围着主人身边转");
} else {
System.out.println("名字叫" + name + "的" + breed + "心情不好,伤心得一动不动");
}
}
}
测试类:
public class TestDog {
public static void main(String[] args) {
Dog dog1 = new Dog("责宾犬", 3, "心情好", "甜心");
dog1.run();
dog1.bark();
Dog dog2 = new Dog("德国牧羊犬", 5, "心情不好", "太子");
dog2.run();
dog2.bark();
Dog dog3 = new Dog("金毛犬", 2, "开心", "小黄");
dog3.run();
dog3.bark();
}
}
运行结果:
名字叫甜心的责宾犬心情很好,开心地围着主人身边转
名字叫甜心的责宾犬心情很好,开心地汪汪叫
名字叫太子的德国牧羊犬心情不好,伤心得一动不动
名字叫太子的德国牧羊犬心情不好,伤心地呜鸣叫
输入信息错误,这只狗狗今天心情很好!
名字叫小黄的金毛犬心情很好,开心地围着主人身边转
名字叫小黄的金毛犬心情很好,开心地汪汪叫
阅读全文