猎人打猎(一)-----简单的实现

分析:

1.  名词:猎人、猎物、武器(枪)
2.  动词:打猎

关系

1.可以得到类Animal(猎物)、Hunter(猎人)、Gun(武器:枪)
2.类Hunter方法:public void shoot(Animal animal, Gun gun)猎人打猎需要有武器,还必须有猎物可打。
3.类Gun方法:public Animal peng(Animal animal)枪枪杀猎物时,需对准猎物,所以参数为Animal animal,枪杀猎物之后猎人得到猎物,返回值为Animal类型

代码结构:

这里写图片描述

代码

Animal.java

package com.a.po;

public class Animal {
    private String name ; //猎物名字
    private String state ; //猎物状态,死的或者活的

    public Animal() {} //无参构造

    /**
     * @param name
     * @param state
     * 构造方法
     */
    public Animal(String name, String state) {
        this.name = name;
        this.state = state;
    }

    public String getName() {
        return name;
    }

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

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    /**
     * 猎物的一个行为
     */
    public void death() {
        state = "死的";
    }

}

Gun.java

package com.a.po;

public class Gun {
    /**
     * @param animal
     * @return animal 返回一个Animal类型的animal,即猎人打死的猎物
     */
    public Animal peng(Animal animal) {
        animal.death();
        return animal;
    }
}

Hunter.java

package com.a.po;

public class Hunter {
    private String name ; //猎人名字
    private Animal deathAnimal; //猎人身上的猎物

    public Hunter() {}

    public Hunter(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

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

    public Animal getAnimal() {
        return deathAnimal;
    }

    public void setAnimal(Animal animal) {
        this.deathAnimal = animal;
    }

    public void shoot(Animal animal, Gun gun) {
        System.out.println("猎人" + name + "开始打猎了!");
        System.out.println("猎人发现了" + animal.getName() + "并开枪打死了它");
        gun.peng(animal);
    }
}

测试类:Test.java

package com.a.test;

import com.a.po.Animal;
import com.a.po.Gun;
import com.a.po.Hunter;

public class Test {

    public static void main(String[] args) {
        Hunter hunter = new Hunter("张三");
        Gun gun = new Gun();
        Animal animal = new Animal("大老虎", "活的");
        hunter.shoot(animal, gun);
        System.out.println("老虎状态:" + animal.getState());
    }
}

结果

猎人张三开始打猎了!
猎人发现了大老虎并开枪打死了它
老虎状态:死的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值