类和对象的总结_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 类和对象的总结

类和对象的总结

 2013/7/17 12:13:26  郑惠铭  程序员俱乐部  我要评论(0)
  • 摘要:类和对象的总结一、对象1.概念:具体的某一个物体或者某一个事物。2.举例:眼睛所看到的任何一个物体,exp:我眼前的一个水杯。3.描述对象:特征、行为(或称用途、功能)二、类1.概念:一类具有相似特征和行为的对象的集合。2.类(模板)的组成部分有:a.属性(对应对象的特征);b.方法(对应对象的行为)。3.类的基本格式:publicclass类名{//属性的格式private数据类型属性名;//方法的格式public返回值数据类型方法名(数据类型参数名,…){//编写代码}}4
  • 标签:总结
类和对象的总结
一、 对象
1.概念:具体的某一个物体或者某一个事物。
      2.举例:眼睛所看到的任何一个物体,exp:我眼前的一个水杯。
      3.描述对象:特征、行为(或称用途、功能)

二、类
      1.概念:一类具有相似特征和行为的对象的集合。
      2.类(模板)的组成部分有:a.属性(对应对象的特征);
                                b.方法(对应对象的行为)。
      3.类的基本格式:
           public class 类名{
                    //属性的格式
         private 数据类型 属性名;

        //方法的格式
         public 返回值数据类型 方法名(数据类型 参数名,…){
        //编写代码      
}
}
      
4.实例化对象的格式:
             类名 对象名=new 类名();
       exp:   Student  stu = new  Student(); 
      
5.调用方法的格式:
              对象名.方法名(参数值,…);
       exp:      stu. setName(“becky”);
                 stu.study();
N.B: a.类名的首字母要大写,类名中的任一个单词的首字母都要大写。
       b.定义的类可以作为数据类型(引用类型、类类型、对象类型)。
       c.用来创建的对象可以作为参数。

三、练习:回合制游戏:奥特曼和小怪兽要战斗,直到一方的血量为0的时候结束战斗,输出谁胜利了!

1.思路:首先找出对象及它们的特征和行为,如下。然后分别根据对象的特征和行为分别给这两个对象定义一个类。最后定义一个主函数,分别实例化这两个对象和它们的调用方法,模拟它们的实战场景,最后输出结果。
2.分析:
对象 特征 行为
奥特曼 血量、姓名 战斗
小怪兽 血量、姓名 战斗

  3.具体代码如下:
      1)  //定义一个超人类
public class Superman{

        //定义一个姓名属性
        private String name;
        //定义一个血量属性
        private int blood;

        //设置姓名属性值的方法
         public void setName(String n){
           name=n;//将参数的值赋给属性name
}
        //获取姓名属性值的方法
        public String getName(){
            return name;//返回name属性的值
}
        
        //设置血量属性值的方法
         public void setBlood(int m){
             blood=m;//将参数的值赋给属性blood
}
         //获取血量属性值的方法
         public int getBlood(){
               return blood;//返回blood的属性值
}

         //定义一个战斗方法
         public void fighting(Monster mon){
               blood--;//血量减1
               System.out.println(name+"被"+mon.getName()+"攻击了,仅剩"+blood+"滴血。");
}
}

     
2)//定义一个怪物类
public class Monster{

       //定义一个姓名属性
       private String name;
       //定义一个血量属性
       private int blood;

        //设置姓名属性值的方法
        public void setName(String n){
           name=n;//将参数的值赋给属性name
}
        //设置获取姓名属性值的方法
        public String getName(){
            return name;//返回name属性的值
}

         //设置血量属性值的方法
         public void setBlood(int m){
            blood=m;//将参数的值赋给属性blood
}
          //设置获取血量属性值的方法
         public int getBlood(){
             return blood;//返回blood属性的值

}
            //定义一个战斗方法
           public void fighting(Superman sup){
                 blood--;//血量减1
                 System.out.println(name+"被"+sup.getName()+"攻击了,仅剩"+blood+"滴血。");
}

}

    
      3)//定义一个Fighting类
public class Fighting{

      //定义程序的入口主函数
      public static void main(String [] args){
          //实例化一个Superman类的对象
           Superman su=new Superman();
          //调用设置姓名的方法
           su.setName("超人");
          //调用设置血量值的方法
           su.setBlood(10);
         

           //实例化一个Monster类的对象
            Monster mo=new Monster();
           //调用设置姓名的方法
            mo.setName("怪物");
           //调用设置血量的方法
             mo.setBlood(10);
           

            //设定回合次数
            int i=10;
            //开始进行10回合的较量,每回合双方各有一次攻击机会
            while(i>0){
                //调用战斗方法
                 mo.fighting(su);
                //调用战斗方法
                  su.fighting(mo);
                
                  i--;

               //将怪物目前的血量赋值给mblood
                  int mblood=mo.getBlood();
                //将超人目前的血量赋值给sblood
                   int sblood=su.getBlood();

                //当怪物血量为0时输出结果
                 if(mblood==0){
                    System.out.println("怪物血量先为0,超人战胜!");
                    break;
}
                  else if(sblood==0){
                     //当超人血量为0时输出结果
                       System.out.println("超人血量先为0,怪物战胜!");
                       break;
}
}
             
}

}
4.编写代码时需要注意的一些问题
  a.为对象定义类时,一般定义对象的属性需用“private”。
  b.为方便起见,可将对象当前的血量值赋给一个整型变量。
     exp:  int sblood=su.getBlood();
  c. 上述的赋值语句应放在while循环内部,若放在循环外部,整型变量所带有的血量值将不作变化。exp: 上面设定的超人的血量值为10,若赋值语句放在循环外部,sblood的值始终为10。

发表评论
用户名: 匿名