1.使用面向对象的思想,编写自定义描述狗的信息。设定属性包括:品种,年龄,心 情,名字;方法包括:叫,跑。
要求:
1)设置属性的私有访问权限,通过公有的 get,set 方法实现对属性的访问
2)限定心情只能有“心情好”和“心情不好”两种情况,如果无效输入进行提示, 默认设置“心情好”。
3)设置构造函数实现对属性赋值
4)叫和跑的方法,需要根据心情好坏,描述不同的行为方式。
编写测试类,测试狗类的对象及相关方法(测试数据信息自定义)
运行效果图:
首先先构造一个狗类,有上面的变量和方法
class Dog {
private String variety;
private int age;
private String fell;
private String name;
public Dog() {
}
public Dog(String variety, int age, String fell, String name) {
this.variety = variety;
this.age = age;
setFell(fell); //因为题目要求只有两种心情值,将心情的判断的语句写在setFell中,这里直接调用setFell方法
this.name = name;
}
//4)叫和跑的方法,需要根据心情好坏,描述不同的行为方式。
public void Call() {
if("心情好".equals(fell)){
System.out.println("名字叫"+name+"的"+variety+fell+",开心的汪汪叫");
}else{
System.out.println("名字叫"+name+"的"+variety+fell+",伤心的呜呜叫");
}
}
public void Run() {
if("心情好".equals(fell)){
System.out.println("名字叫"+name+"的"+variety+fell+",开心的围着主人身边转");
}else{
System.out.println("名字叫"+name+"的"+variety+fell+",伤心的一动不动");
}
}
public String getVariety() {
return variety;
}
public void setVariety(String variety) {
this.variety = variety;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getFell() {
return fell;
}
public void setFell(String fell) {
this.fell=fell;
}
public void show() {
Run();
Call();
}
}
2)限定心情只能有“心情好”和“心情不好”两种情况,如果无效输入进行提示, 默认设置“心情好”。
编写心情值的判断语句
public void setFell(String fell) {
if ("心情好".equals(fell) || "心情不好".equals(fell)) {
this.fell = fell;
} else {
this.fell="心情好";
System.out.println("输入信息错误,这只狗狗今天心情很好!");
}
}
编写测试类
public class Test1 {
public static void main(String[] args) {
Dog d1 = new Dog("贵宾犬",2,"心情非常好","甜心");
d1.show();
System.out.println("======================================");
Dog d2 = new Dog("边牧", 3, "心情不好", "白球");
d2.show();
}
}
标签:题目,String,variety,练习,心情,fell,封装,public,name
From: https://www.cnblogs.com/ndmtzwdx/p/18429881