【从零开始学习JAVA | 第六篇】面向对象综合训练

目录

前言: 

 1.文字版格斗游戏:

 2.对象数组1


【从零开始学习JAVA | 第六篇】面向对象综合训练_第1张图片

 

前言: 

前面我们已经讲解了JAVA面向程序对象思想的关键要素:封装。我们将利用本篇进行几个小型的练习,帮助我们更好的理解面向对象编程这种思想。

 1.文字版格斗游戏:

格斗游戏,每一个游戏角色的姓名,血量都不相同,在选定人物的时候(new对象的时候),这些信息就应该被确定下来。

其实本题主要是在考察我们对于类的建立,在这道题中,我们要建立一个Role类,这个类的成员变量有角色姓名,角色血量,角色攻击力,以及添加成员行为attack作为可调用的角色攻击函数。

建立Role类:

package allgame;
import java.util.Random;
public class Role {
    private String name;
    private int blood;
    private int hurt;


    public String getName() {
        return name;
    }

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

    public int getBlood() {
        return blood;
    }

    public void setBlood(int blood) {
        this.blood = blood;
    }

    public Role(String name, int blood) {
        this.name = name;
        this.blood = blood;
        Random random = new Random();
        this. hurt = random.nextInt(20);
    }

    //定义一个方法用来攻击别人
    public  void attack (Role role)
    {
        System.out.println(this.name+"直接一个升龙拳对"+role.name+"造成了"+this.hurt+"点伤害");
        System.out.println("此时"+role.name+"的血量还剩"+role.blood+"点");

        role.blood= role.blood-this.hurt;
        if (role.blood<0)
        {
            role.blood=0;
        }
    }

}

在main类中进行创建人物以及调用行为:

package allgame;

public class gamatest {
    public static void main(String[] args) {
        Role r1 =new Role("张三",100);
        Role r2 =new Role("李四",120);

        //开始攻击
        while(true)
        {
            r1.attack(r2);
            if(r2.getBlood()>0)
            {
                r2.attack(r1);
                if(r1.getBlood()<=0)
                {
                    System.out.println(r1.getName()+"已经死亡,游戏结束");
                  break;
                }
            }
            else
            {
                System.out.println(r2.getName()+"已经死亡,游戏结束");
                break;
            }

        }
    }
}

运行结果:
【从零开始学习JAVA | 第六篇】面向对象综合训练_第2张图片

 2.对象数组1

定义数组存储三个商品对象。

商品的属性:商品的id,名字,价格,库存。

创建三个商品对象,并把商品对象存入到数组之中

构建的商品类:

package allgame;

public class shangpin {
    private String id;
    private String name;
    private double price;
    private int count;

    public shangpin(String id, String name, double price, int count) {
        this.id = id;
        this.name = name;
        this.price = price;
        this.count = count;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

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

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public int getCount() {
        return count;
    }

    public void setCount(int count) {
        this.count = count;
    }



}

主方法实现:

package allgame;

public class shangpintest {
    public static void main(String[] args) {
        //1.创建一个数组:
        shangpin [] arr =new shangpin[3];

        //2.创建三个商品对象;
        shangpin t1= new shangpin("1","梳子",4.55,10);
        shangpin t2= new shangpin("2","塑料梳子",5.55,10);
        shangpin t3= new shangpin("3","木头梳子",6.55,10);

        //3.把商品添加到数组之中。
        arr[0]=t1;
        arr[1]=t2;
        arr[2]=t3;

        //验证:
        for(int i=0;i<3;i++)
        {
            System.out.println("id:"+arr[i].getId()+"name:"+arr[i].getName()+"price:"+arr[i].getPrice()+"count"+arr[i].getCount());
        }
    }
}

总结:
        类的创建为我们提供了一种快速的方法来构建具有相同属性的物品,也提供了接口为我们有了能力对物品行为做出限定。JAVA的核心在类,如果我们想要学好JAVA,对类的创建必须达到熟练的程度,可以快速从物品中抽象出共同的性质,创建出合适的类。

如果我的内容对你有帮助,请点赞,评论,收藏。创作不易,大家的支持就是我坚持下去的动力!

你可能感兴趣的:(java,学习,算法,java,开发语言)