Java中的类与对象
2016-07-13 19:50
260 查看
Java中的类与对象
程序是实体在计算机中的体现,而对于一个实体主要是从属性和方法上面来描述,例如一个人就是一个实体。每一个人都有自己的名字,性别,年龄等,这些就是一个人所具有的属性,同时人还有学习、吃饭、睡觉等,这些就是一个人所具有的方法。在现实生活中可找出很多事物作为实体,例如学生、教师、飞机、发动机等都是实体;在思维世界中许多的概念也可以作为一个实体,例如复数,矩阵,堆栈,队列等,它们也有自己的行为与方法。
在程序中用类来描述这些实体的抽象概念。类就是一群具有相同属性和方法的实体的抽象,比如说一个中学生和一个大学生都是实体,而学号,姓名,性别,年级等是他们所具有的属性,学习、吃饭、睡觉等是他们共同具有的方法。我们现在让这些相同的属性和方法抽象出来形成一个学生类,同样具有中学生和大学生的方法和属性,这不过学生更加的抽象,更加的含糊,而一个大学生和中学生则具体的对应了两个实体。
下面我们以“八神和猴子PK(回合制),每一次攻击,让对方的血量减少自己的攻击值,直到某一方血量为0,输出胜利方。”来讨论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和猴子A Character 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 八神为胜出的一方
相关文章推荐
- 使用Spring Boot快速构建应用
- 使用Java实现的简易“生产者消费者问题”
- java并发包学习系列:生产者消费者模式(草稿)
- java并发包学习系列:future模式(草稿)
- java并发包学习系列:jdk并发容器(草稿)
- java并发包学习系列:fork/join(草稿)
- 谈谈Java中的继承与组合
- java并发包学习系列:线程复用之线程池(草稿)
- java并发包学习系列:几个多线程控制工具类(草稿)
- java并发包学习系列:读写锁(草稿)
- java并发包学习系列:信号量(草稿)
- comparator接口与Comparable接口的区别
- java并发包学习系列:重入锁与Condition条件(草稿)
- maven插件for eclipse
- java并发包学习系列:synchronized和volatile(草稿)
- Java中的继承与组合
- java并发包学习系列:java并行基础(草稿)
- java并发包学习系列:概述(草稿)
- 搭建最简单的SpringMVC框架(使用maven)
- eclipse中maven插件配置