`
Atropos
  • 浏览: 2168 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

集训--2

    博客分类:
  • java
 
阅读更多
1.找出生活中的对象?
对象:只要是生活中具体的某一个物体或者具体的某一个事物就是一个对象。
举例:
某一个学生
特征:姓名,性别,学分,年龄,学校,....
行为:考试,说话,睡觉,吃饭,学习,打游戏,看电视,...
某一个篮球
特征:形状,材料,颜色,重量,半径
用途、功能、行为:弹,
某一支笔
熊哥

你眼睛里看到的任何一个物体就是一个对象。

1.找对象
2.找对象的特性和行为

2.类的组成
生活中的分类,是根据对象相似的特征和相似的行为进行归类的。

程序中类,是按照固定的格式,对对象的特征和行为进行的定义,定义成一个相应的模板。

程序中类由2个部分组成:1.属性(对象的特征)  2.方法(对象的行为)

3.类的基本格式
public  class 类名 {

//定义属性的格式
private 数据类型  属性名;

//方法的格式
public 返回值数据类型 方法名(数据类型 形参名,...){

}

}

4.实例化对象和调用方法的格式
实例化对象的关键字是:new
格式:
类名 对象名 = new 类名();
Student stu = new Student();
调用方法的格式
对象名.方法名(实参或者参数值,...);
stu.setName("张三");
int s = stu.getScore();
s-=1;
stu.setScore(s);

stu.study();
stu.play();

5.对象是否可以作为参数?
1.定义的类是否可以作为数据类型?
可以的
2.你用类实例化对象的是可以作为参数的。

6.练习
      回合对战 直到一方能量为0,对战结束。
     
      代码:
      package cn.trainingcamp;

     public class SmallGame {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

//实例化一个OutMan对象
OutMan outman = new OutMan();
outman.setName("奥特曼");
outman.setEnergy(100);

//实例化一个Boss对象
Boss boss = new Boss();
boss.setName("兽神");
boss.setEnergy(50);

//实例化一个Monster对象
Monster monster = new Monster();
monster.setName("小怪兽");
monster.setEnergy(40);

//战斗开始
System.out.println("====================战斗开始!=================\n");
while(outman.getEnergy() > 0 && monster.getEnergy()>0){
outman.fight(monster);
monster.fight(outman);
}
if(monster.getEnergy()<0 ){
System.out.println("战斗结束!\n"+outman.getName()+"胜利!");
}
if(outman.getEnergy()<0 ){
System.out.println("战斗结束!\n"+monster.getName()+"胜利!");
}


while(outman.getEnergy() > 0 && boss.getEnergy()>0){
outman.fight(boss);
monster.fight(outman);
}
if(boss.getEnergy()<0 ){
System.out.println("战斗结束!\n"+outman.getName()+"胜利!");
}
if(outman.getEnergy()<0 ){
System.out.println("战斗结束!\n"+boss.getName()+"胜利!");
}


}

}

*************************OutMan类****************************
       package cn.trainingcamp;

      public class OutMan {

//定义名字和战斗力
private String name;
private int energy;

//设置属性:名字和战斗力
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setEnergy(int energy){
this.energy = energy;
}
public int getEnergy(){
return energy;
}

//设置行为:打boss
public void fight(Boss boss){
boss.setEnergy(boss.getEnergy()-1);
System.out.println(boss.getName()+"被"+name+"攻击了!\n"+boss.getName()+"剩余血量为"+boss.getEnergy());

}

//设置行为:打小怪兽
public void fight(Monster monster){
monster.setEnergy(monster.getEnergy()-2);
System.out.println(monster.getName()+"被"+name+"攻击了!\n"+monster.getName()+"剩余血量为"+monster.getEnergy());

}
}

****************************Monster类**************************
         package cn.trainingcamp;

         public class Monster {
//定义名字和战斗力
private String name;
private int energy;

//设置属性:名字和战斗力
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setEnergy(int energy){
this.energy = energy;
}
public int getEnergy(){
return energy;
}

//设置行为:打OutMan
public void fight(OutMan outman){
outman.setEnergy(outman.getEnergy()-1);
System.out.println(outman.getName()+"被"+name+"攻击了!\n"+outman.getName()+"剩余血量为"+outman.getEnergy());
}
}
*******************************Boss类********************************
        package cn.trainingcamp;

        public class Boss {
 
        //定义名字和战斗力
private String name;
private int energy;

//设置属性:名字和战斗力
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setEnergy(int energy){
this.energy = energy;
}
public int getEnergy(){
return energy;
}

//设置行为:打OutMan
public void fight(OutMan outman){
outman.setEnergy(outman.getEnergy()-1);
System.out.println(outman.getName()+"被"+name+"攻击了!\n"+outman.getName()+"剩余血量为"+outman.getEnergy());

}

}

7.总结
      java中类与生活中的类相似,但又有不同,既具体,又可以说不具体,比如“人类”就是一个类,那么具体的某个人“张三”就是“人类”这个类的对象,而“名字、年龄”等信息就是对象的属性,人的动作比如“吃饭、穿衣”等就是对象的方法。总之类就是有相同特征的事物的集合,而对象就是类的一个具体实例。同时类有多态和继承,例如“人类”可以分为“男人、女人”,“老人、小孩”那么“男人、女人”就是“人类”的子类等等。     
      另外,需要注意在java中所定义的类可以作为一种数据类型出现;定义属性时定义为私有可以保护信息;同名不同类的函数使用是不会冲突等等。
      有三种类型的类:公有类(public)、私有类(private)、缺省类。
      公有类在所有包中都是可见的。Java为用户提供的标准类几乎都是公有类。
      只有内部类才允许声明为私有类,而普通类或包含内部类的外部类不允许声明为私有类。
      通过一个对象调用它所属类的一个方法,就是向该对象发送一条消息。消息名就是方法名,而方法的参数表内则指明了该消息应带来的各种信息, 方法的返回值是为响应消息而向消息发送者发送的返回信息。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics