类与对象

类与对象
今天再一次学习类与对象,清点了所学知识。

概念
一、类:具有相同属性,特征,功能的模板,如人类。
1.类的作用:用来作为一个模板,我们可以根据类来创建出许许多多的对 象,而这些对象都具有在类中定义的属性和方法
2.类的创建:
关键字:class
格式:public class 类名(属性名){
属性
}
【属性: 八大基本数据类型 类类型 ;int x = 10; 变量所属类型 变量名】
3 类的方法:行为方式 功能 处理一件事的方法 。
格式:public 返回值类型 方法名() {
方法体,即需要执行的内容
}
【返回值类型: 空 - void 10 - int int i= a.test();
参数:为方法需要的外部条件(参数类型 参数变量名,参数类型 参数变量名)】
( 场景:网上购物,比如过购买一支口红,你需要在页面上面搜索【查询方法】,找好心仪的口红后添加到购物车【给你的购物车添加一条信息 】,然后在购物车里勾选结算【创建订单方法】,提交订单支付【对订单支付结算的方法】,后台商家收到订单信息、地址信息后就就安排发货【 发货方法 】,最后你就等着收货啦。这样就完成了在网上购物的方法步骤。)

-二、 对象:具体到某一个对象,比如小明同学。
对象的创建:
1.关键字;new

2.格式:类名 对象名=new 类名()
Human lsl = new Human();

3.对象的属性使用:格式:对象名.属性名

4.对象的方法使用:格式:对象名.方法名(参数值);

5.调用:非本类/主函数 程序执行时 所有的属性都有其对象
对象名.属性名;
对象名.方法名();

三、步骤
1、分析场景中的对象;
2、分析对象的属性和方法;
3、创建类;
4、在主方法中创建对象,给对象的属性赋值,调用方法。

四、练习
白起和鲁班相互pk,采用回合制,每次攻击,被攻击方的血量减少攻击方的攻击值,重复战斗,直到某一方的血量小于零为止。

输出:战斗的过程、结果

主方法


```java
public class Manage {
	public static void main(String[]args){
	System.out.println("游戏开始>>>>");
	
	BaiQi bq=new BaiQi();
	Kai kai=new Kai();
	HouYi hy=new HouYi();
	bq.name="邓杰的白起";
	bq.ad=456;
	bq.hp=4560;
	
	kai.name="吴望曙的凯";
	kai.hp=6780;
	kai.ad=324;
	
	hy.name="电脑的后羿";
	hy.hp=1175;
	hy.ad=132;

	System.out.println(">>>>");
	System.out.println("pk>>>>");
	
    while(kai.hp>0&&bq.hp>0){
	kai.jiRenFengBao(bq);	
	if(bq.hp>0)
	bq.aoManChaoFeng(kai);	
	}
  
类1
public class BaiQi {
	String name;
	int ad;
	int hp;
	
public void aoManChaoFeng(Kai kai){
	kai.hp-=ad;
	System.out.println(name+"使用傲慢嘲讽攻击了"+kai.name+"使其失去了"+ad+
	"点HP,其还剩下"+kai.hp+"点HP");
}
	
public void aoManChaoFeng(HouYi hy){
		hy.hp-=ad;
		System.out.println(name+"使用傲慢嘲讽攻击了"+hy.name+"使其失去了"+ad+
		"点HP,其还剩下"+hy.hp+"点HP");	
}
}

类2

public class HouYi {
	String name;
	int ad;
	int hp;

public void zhouRiZhiShi(Kai kai){
		kai.hp-=ad;
		System.out.println(name+"使用灼日之矢攻击了"+kai.name+"使其失去了"+ad+
		"点HP,其还剩下"+kai.hp+"点HP");
}
	
public void zhouRiZhiShi(BaiQi bq){
			
			bq.hp-=ad;
			System.out.println(name+"使用灼日之矢攻击了"+bq.name+",使其失去了"+ad+
					"点HP,其还剩下"+bq.hp+"点HP。");
	}
}
	
	

类3

public class Kai {
	String name;
	int ad;
    int hp;
    
public void jiRenFengBao(BaiQi bq){
	
	bq.hp-=ad;
	System.out.println(name+"使用极刃风暴攻击了"+bq.name+",使其失去了"+ad+
			"点HP,其还剩下"+bq.hp+"点HP。");

}

public void jiRenFengBao(HouYi hy){
	hy.hp-=ad;
	System.out.println(name+"使用极刃风暴攻击了"+hy.name+"使其失去了"+ad+
		"点HP,其还剩下"+hy.hp+"点HP");
}   
}

**输出结果**
游戏开始>>>>
>>>>
pk>>>>
吴望曙的凯使用极刃风暴攻击了邓杰的白起,使其失去了324点HP,其还剩下4236点HP。
邓杰的白起使用傲慢嘲讽攻击了吴望曙的凯使其失去了456点HP,其还剩下6324点HP
吴望曙的凯使用极刃风暴攻击了邓杰的白起,使其失去了324点HP,其还剩下3912点HP。
邓杰的白起使用傲慢嘲讽攻击了吴望曙的凯使其失去了456点HP,其还剩下5868点HP
吴望曙的凯使用极刃风暴攻击了邓杰的白起,使其失去了324点HP,其还剩下3588点HP。
邓杰的白起使用傲慢嘲讽攻击了吴望曙的凯使其失去了456点HP,其还剩下5412点HP
吴望曙的凯使用极刃风暴攻击了邓杰的白起,使其失去了324点HP,其还剩下3264点HP。
邓杰的白起使用傲慢嘲讽攻击了吴望曙的凯使其失去了456点HP,其还剩下4956点HP
吴望曙的凯使用极刃风暴攻击了邓杰的白起,使其失去了324点HP,其还剩下2940点HP。
邓杰的白起使用傲慢嘲讽攻击了吴望曙的凯使其失去了456点HP,其还剩下4500点HP
吴望曙的凯使用极刃风暴攻击了邓杰的白起,使其失去了324点HP,其还剩下2616点HP。
邓杰的白起使用傲慢嘲讽攻击了吴望曙的凯使其失去了456点HP,其还剩下4044点HP
吴望曙的凯使用极刃风暴攻击了邓杰的白起,使其失去了324点HP,其还剩下2292点HP。
邓杰的白起使用傲慢嘲讽攻击了吴望曙的凯使其失去了456点HP,其还剩下3588点HP
吴望曙的凯使用极刃风暴攻击了邓杰的白起,使其失去了324点HP,其还剩下1968点HP。
邓杰的白起使用傲慢嘲讽攻击了吴望曙的凯使其失去了456点HP,其还剩下3132点HP
吴望曙的凯使用极刃风暴攻击了邓杰的白起,使其失去了324点HP,其还剩下1644点HP。
邓杰的白起使用傲慢嘲讽攻击了吴望曙的凯使其失去了456点HP,其还剩下2676点HP
吴望曙的凯使用极刃风暴攻击了邓杰的白起,使其失去了324点HP,其还剩下1320点HP。
邓杰的白起使用傲慢嘲讽攻击了吴望曙的凯使其失去了456点HP,其还剩下2220点HP
吴望曙的凯使用极刃风暴攻击了邓杰的白起,使其失去了324点HP,其还剩下996点HP。
邓杰的白起使用傲慢嘲讽攻击了吴望曙的凯使其失去了456点HP,其还剩下1764点HP
吴望曙的凯使用极刃风暴攻击了邓杰的白起,使其失去了324点HP,其还剩下672点HP。
邓杰的白起使用傲慢嘲讽攻击了吴望曙的凯使其失去了456点HP,其还剩下1308点HP
吴望曙的凯使用极刃风暴攻击了邓杰的白起,使其失去了324点HP,其还剩下348点HP。
邓杰的白起使用傲慢嘲讽攻击了吴望曙的凯使其失去了456点HP,其还剩下852点HP
吴望曙的凯使用极刃风暴攻击了邓杰的白起,使其失去了324点HP,其还剩下24点HP。
邓杰的白起使用傲慢嘲讽攻击了吴望曙的凯使其失去了456点HP,其还剩下396点HP
吴望曙的凯使用极刃风暴攻击了邓杰的白起,使其失去了324点HP,其还剩下-300点HP。
吴望曙的凯使用极刃风暴攻击了电脑的后羿使其失去了324点HP,其还剩下851点HP
电脑的后羿使用灼日之矢攻击了吴望曙的凯使其失去了132点HP,其还剩下264点HP
吴望曙的凯使用极刃风暴攻击了电脑的后羿使其失去了324点HP,其还剩下527点HP
电脑的后羿使用灼日之矢攻击了吴望曙的凯使其失去了132点HP,其还剩下132点HP
吴望曙的凯使用极刃风暴攻击了电脑的后羿使其失去了324点HP,其还剩下203点HP
电脑的后羿使用灼日之矢攻击了吴望曙的凯使其失去了132点HP,其还剩下0点HP
电脑的后羿WIN!!!

注意:刚开始我写的时候在主方法的运行条件中没有加 if(bq.hp>0)入这个if语句,导致白起的生命值为负的时候游戏还在战斗。以后要注意语句逻辑运行是否合理。

————————————————
版权声明:本文为优快云博主「Lin you」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/LaoSiLin/article/details/102505291
————————————————

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值