1.使用面向对象的思想,编写自定义描述狗的信息。设定属性包括:品种,年龄,心 情,名字;方法包括:叫,跑。要求:(1)设置属性的私有访问权限,通过公有的 get,set 方法实现对属性的访问等

  1. 使用面向对象的思想,编写自定义描述狗的信息。设定属性包括:品种,年龄,心  情,名字;方法包括:叫,跑。

要求:

    1. 设置属性的私有访问权限,通过公有的 get,set 方法实现对属性的访问
    2. 限定心情只能有“心情好”和“心情不好”两种情况,如果无效输入进行提示,  默认设置“心情好”。
    3. 设置构造函数实现对属性赋值
    4. 叫和跑的方法,需要根据心情好坏,描述不同的行为方式。
    5. 编写测试类,测试狗类的对象及相关方法(测试数据信息自定义)
分析:
不能只在set方法里加上心情限制,也要在构造方法里加上
否则只用构造方法传入错误的心情参数,不用set方法,程序无法判断
 或者在叫和跑的方法里默认限制
class Dog{
    private String variety ;//品种
    private int age;
    private String name;
    private String mood;//心情


    public String getVariety() {
        return variety;
    }

    public void setVariety(String variety) {
        this.variety = variety;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getMood() {
        return mood;
    }

    public void setMood(String mood) {
        if(!mood.equals("心情好")&&!mood.equals("心情不好")){
            mood="心情好";
            this.mood = mood;
            System.out.println("输入信息错误,这只狗狗今天的心情很好");
        }

    }

    public Dog(String variety, int age, String name, String mood) {
        this.variety = variety;
        this.age = age;
        this.name = name;
        this.mood = mood;
        if(!mood.equals("心情好")&&!mood.equals("心情不好")){
            mood="心情好";
            this.mood = mood;
            System.out.println("输入信息错误,这只狗狗今天的心情很好");
        }

    }


    public void barking(){
        if(mood.equals("心情好")){
        System.out.println("名字叫"+name+"的"+variety+"心情很好"+","+"开心的汪汪的叫");
        }else if (mood.equals("心情不好")) {
            System.out.println("名字叫"+name+"的"+variety+"心情不好"+","+"伤心的呜呜呜");
        }
    }
    public void run(){
        if(mood.equals("心情好")){
        System.out.println("名字叫"+name+"的"+variety+"心情很好"+","+"开心的围着主人转");
        } else if (mood.equals("心情不好")) {
            System.out.println("名字叫"+name+"的"+variety+"心情不好"+","+"伤心的一动不动");
        }
        }
    }




public class DogTest {
    public static void main(String[] args) {
        Dog d1=new Dog("田园犬",2,"可乐","haha");
        Dog d2=new Dog("贵宾犬",1,"小美","心情不好");
        Dog d3=new Dog("土狗",3,"小强","心情好");
        d1.barking();
        d1.setMood("xxxxx");//不能只在set方法里加上心情限制,也要在构造方法里加上
        d1.run();         //否则只用构造方法传入错误的心情参数,不用set方法,程序无法判断
                          //或者在叫和跑的方法里默认限制
        System.out.println("===============================");
        d2.setName("牛奶");
        d2.run();
        System.out.println("===============================");
        d3.barking();


    }
}

运行结果如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我的K8409

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值