类和对象学习总结

一、对类和对象的理解:

 

          什么是类?什么是对象?

          对象是某一个具体的物体或者某一个具体的事物。是特定的具体的可感的,比如某一台电脑,某一本书,某一张桌子,眼睛所观察到的任何一个事物。

          类 是一群对象共同点描述的兼程。是抽象的、主观的。

类和对象的区别:

对象
电脑某一台特指的电脑
学生某一个学生

 

 

 

二、对对象的描述

 

          1.特征、状态:对象本身所具有的特点;

          2.用途、功能、行为:对象可以做或者被用来做什么;

 

 

三、类的组成

 

        1.生活中对类的划分;

        2.程序中对类的划分:

                  属性对应对象的特征;

                  方法对应对象的行为。

  描述/划分方法
 属性 方法
对象 特征 行为

 

                   类称之为模板。

 

 

三、类的基本格式

 

         类名必须与文件名一致!并且首字母大写,如果是多个单词合在一起每个单词的首字母都大写!这是Java提倡的书写格式!

public class 类名 {
		//属性的格式
		private 数据类型 属性名;

		//方法的格式
		public 返回值数据类型 方法名(数据类型 参数名,...){
			//编写代码
		}
	}

 

       

 

 四、实例化对象和调用方法的格式

 

               实例化对象的格式:

                           类名      对象名  =  new     类名( );

                          例 :Student   stu = new   Student();

                          注:对象名只能用字母、数字、下划线表示,并且只能以字母或下划线开头。

 

               调用方法的格式:

                            对象名.方法名(参数值,……);

                            例:stu.Study();

 

 

 

五、对象是否可以作为参数

 

             1.定义的类是可以作为数据类型的(引用类型、类类型或者对象类型)。
             2.用来创建的对象自然可以作为参数。

 

 

六、代码

 

奥特曼打小怪兽的回合制过程模拟

 

       思路分析:1.分别定义奥特曼和怪兽的类,需要定义的属性有名字、血量、攻击力。

                         2.定义设置和获取属性的方法。

                         3.定义一次攻击过程的方法,参数用另一个类中的对象。

                         4.定义主函数、程序入口,完成实例化对象属性。

                         5.回合制游戏需要建立循环双方相互减血直到一方血量不为零。(注意:不能一直循环, 最后需进行一次判断,否则到最后会输出两个都不为正。)

                         6.输出结果。

 

 

public class VS {
 

       public static void main(String[] args){
            //实例化
            Outman ot = new Outman();
            Monster mt = new Monster();
            ot.setName("奥特曼");
            //ot.name = "奥特曼";
            ot.getName();
            ot.setHp(3000);
            ot.getHp();
            ot.setHurt(600);
            ot.getHurt();
            mt.setName("小怪兽");
            mt.getName();
            //mt.name = "小怪兽";
            mt.setHp(5000);
            mt.getHp();
            mt.setHurt(360);
            mt.getHurt();
            
            //显示初始血量
            System.out.println(ot.getName()+" hp "+ot.getHp()); 
            System.out.println(mt.getName()+" hp "+mt.getHp());
            System.out.println(mt.getName()+" 率先发动攻击:");


            do{
                   ot.setHp(mt.dohurt(ot));
                   ot.getHp();
                   //显示剩余血量
                   if(ot.getHp()>0){
                       System.out.println(ot.getName()+" 血量还剩 "+ot.getHp()+" 点。");
                       mt.setHp(ot.dohurt(mt));
                       if(mt.getHp()>0){
                            System.out.println(mt.getName()+" 血量还剩 "+mt.getHp()+" 点。");
                       }
                   }              
   
            }while(ot.getHp()>0&&mt.getHp()>0);

            //输出结果
            mt.setHp(ot.result(mt));
            mt.getHp();
            mt.result();

     }



}

 

 

public class Outman{

      private String name;
      private int hp;
      private int hurt;
      
 
      //设置名字属性的方法
      public void setName(String n){
            name = n;
      }


      //获取名字属性的方法
      public String getName(){
            return name;
      }
      
      //设置血量属性的方法
      public void setHp(int h){
            hp = h;
      }

      //获取血量的方法
      public int getHp(){
            return hp;   
      }

      //设置攻击力属性的方法
      public void setHurt(int t){
            hurt = t;
      }
 
      //获取攻击力的方法
      public int getHurt(){
            return hurt;
      }
 


      //对对手造成伤害的方法
      public int dohurt(Monster m){
            
                m.setHp(m.getHp() - hurt);
                m.getHp();
                System.out.print(name+" 对 "+m.getName()+" 造成 "+hurt+" 点伤害。");
             
                return m.getHp();
      }
    

      //输出结果的方法
      public int result(Monster m){
            if(hp>0)
               System.out.println(name+" 取得胜利。"); 
             else{
               //主角光环,正义必胜。。。。。
               System.out.println(name+" 使用动感光波秒杀了对手。"); 
               m.setHp(0);
               m.getHp();
             }  
             return m.getHp();
      }




} 

 

                     

public class Monster{

      private String name;
      private int hp;
      private int hurt;
      
 
      //设置名字属性的方法
      public void setName(String n){
            name = n;
      }


      //获取名字属性的方法
      public String getName(){
            return name;
      }
      
      //设置血量属性的方法
      public void setHp(int h){
            hp = h;
      }

      //获取血量的方法
      public int getHp(){
            return hp;   
      }

      //设置攻击力属性的方法
      public void setHurt(int t){
            hurt = t;
      }
 
      //获取攻击力的方法
      public int getHurt(){
            return hurt;
      }
  


      //对对手造成伤害的方法
      public int dohurt(Outman o){
            
                o.setHp(o.getHp() - hurt);
                o.getHp();
                if(o.getHp()>0)
                    System.out.print(name+" 对 "+o.getName()+" 造成 "+hurt+" 点伤害。");
             
                return o.getHp();
      }
    

      //输出结果的方法
      public void result(){
            if(hp>0)
               System.out.println(name+" 取得胜利。"); 
             else
               System.out.println(name+" 血量为0。 "+name+" 被击败了。"); 
       }




} 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值