封装的练习题目1

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();
    }
}
posted @ 2024-09-24 19:49  你的镁偷走了我的锌  阅读(16)  评论(0)    收藏  举报