Java中的类与对象

来源:互联网 发布:python形参 实参 顺序 编辑:程序博客网 时间:2024/05/16 04:58
Java中的类与对象
程序是实体在计算机中的体现,而对于一个实体主要是从属性和方法上面来描述,例如一个人就是一个实体。每一个人都有自己的名字,性别,年龄等,这些就是一个人所具有的属性,同时人还有学习、吃饭、睡觉等,这些就是一个人所具有的方法。在现实生活中可找出很多事物作为实体,例如学生、教师、飞机、发动机等都是实体;在思维世界中许多的概念也可以作为一个实体,例如复数,矩阵,堆栈,队列等,它们也有自己的行为与方法。
在程序中用类来描述这些实体的抽象概念。类就是一群具有相同属性和方法的实体的抽象,比如说一个中学生和一个大学生都是实体,而学号,姓名,性别,年级等是他们所具有的属性,学习、吃饭、睡觉等是他们共同具有的方法。我们现在让这些相同的属性和方法抽象出来形成一个学生类,同样具有中学生和大学生的方法和属性,这不过学生更加的抽象,更加的含糊,而一个大学生和中学生则具体的对应了两个实体。
下面我们以“八神和猴子PK(回合制),每一次攻击,让对方的血量减少自己的攻击值,直到某一方血量为0,输出胜利方。”来讨论Java中的类与对象。
第一步:分析场景中的对象。显然八神和猴子就是两个实体对象。
第二步:分析对象的属性和方法。对于八神而言他的属性有自己的血量,攻击值,名字,方法就是攻击对手。同样的猴子同样也也具有自己的血量,攻击值,名字属性,方法是攻击对手
第三步:分析对象之间的共同处。那就是都具有血量,攻击值,名字等属性,具有攻击对手的方法。
下面是创建一个角色类:
public class Character {//血量属性public int blood;//设置攻击值public int num;//设置角色名字public String name;//双方进行决斗public void Pk(Character a){//当血量大于0角色双方进行决斗,血量减少对方的攻击值if(blood > 0 ){a.blood=a.blood-num;//输出此时对方的状态以便观察System.out.println(name+"攻击"+a.name+","+a.name+"血量还剩"+a.blood);}//如果对方血量小于0输出胜利的一方if(a.blood <= 0){System.out.println(name+"为胜出的一方");}}}
下面就是主方法的实现:
public class Manager {public static void main(String [] args){//创建两个对象八神A和猴子ACharacter bashen = new Character ();Character houzi = new Character ();//设置八神和猴子的属性bashen.blood = 20;houzi.blood = 20;bashen.name = "八神";houzi.name = "猴子";bashen.num = 8;houzi.num = 6;//八神A和猴子A进行决斗。输出胜利的一方while(bashenA.blood > 0 && houziA.blood > 0){bashenA.Pk(houziA);houziA.Pk(bashenA); }}
下面为输出的结果:
八神攻击猴子,猴子血量还剩12猴子攻击八神,八神血量还剩14八神攻击猴子,猴子血量还剩4猴子攻击八神,八神血量还剩8八神攻击猴子,猴子血量还剩-4八神为胜出的一方







0 0