类和对象的总结

类和对象的总结


6月7日,熊哥给我们上了类和对象。

可能是刚入门基础和熊哥的原因~ 真心感觉Java比c++好理解多了。还有,注释是一个好东西。
今天才对类真正有点初步的认识吧~ 知道一个类里面可以有很多个对象,每个类里面有的特征和行为。

类的基本结构:
public class 类名 {
//属性的格式
private 数据类型 属性名;
//行为的格式
public 返回值数据类型 方法名(数据类型 参数名 ...);{
//方法体
}
}

不过还是感觉对分辨对象,还有对象的特征和行为有压力。估计慢慢做多了,情况会好些吧。

后面做的战斗练习,感觉跟教材上的代码大同小异吧。
熊哥让我们想清楚是人对战还是名字对战.
我一开始把2个战士都归到一个类里面去,后来想着想着,觉得不对劲~ 因为小时候拳王里面每个角色都有自己的绝招,所以要是都在同一个类里面应该不恰当吧,所以后来就把战士跟Boss分开了,各自一个类。
在写的过程中,发现后面战斗的方法那里很纠结。

//战斗的方法
public void fight(Boss Bo){
Bo.setBlood(Bo.getBlood()-1);
System.out.println(Bo.getName()+"被击中"); 

setBlood 和 getBlood 不懂怎么用~ 后来看看原来的代码,大概懂点了。
setBlood 没有返回值, getBlood 有返回值,返回一个整数,所以getBlood就在括号里面。
然后getBlood -1 然后 setBlood-1. 后来getBlood 就保存了setBlood-1 的数值,再循环。

代码示例:

//斗士类的定义

public class Fighter {

//战士名字的属性
private String name;
//战士血量的属性
private int blood=5;

//设置战士的名字
public void setName(String n){
name=n;
}
//获取战士名字
public String getName(){
return name;
}
//设置战士血量
public void setBlood(int m){
blood=m;
}

//得到战士血量
public int getBlood(){
return blood;
}

//战士战斗的方法
public void fight(Boss Bo){
Bo.setBlood(Bo.getBlood()-1);
System.out.println(Bo.getName()+"被击中");

}
}


//Boss的定义

public class Boss {

//Boss名字的属性
private String name;
//Boss血量的属性
private int blood=5;

//设置Boss的名字
public void setName(String n){
name=n;
}
//获取Boss名字
public String getName(){
return name;
}
//设置Boss血量
public void setBlood(int m){
blood=m;
}

//得到Boss血量
public int getBlood(){
return blood;
}

//Boss战斗的方法
public void fight(Fighter Fi){
Fi.setBlood(Fi.getBlood()-1);
System.out.println(Fi.getName()+"被击中");
//
}
}


//定义一个Manager类
public class Manager {

//定义一个入口主函数
public static void main(String [] args ){

//创建一个战士对象
Fighter Fi1 = new Fighter();
Fi1.setName("拉稀战士");

//再创建一个Boss对象
Boss Bo = new Boss();
Bo.setName("撒饭boss");

Fi1.fight(Bo);
for(int i=1;i<=5;i++){
Bo.fight(Fi1);
}
System.out.println();

//判断血量,决胜负
if((Fi1.getBlood())<=0)
{System.out.println((Bo.getName())+"胜利了"); }
else if((Bo.getBlood())<=0)
{System.out.println((Fi1.getName())+"胜利了"); }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值