类与对象
今天再一次学习类与对象,清点了所学知识。
概念
一、类:具有相同属性,特征,功能的模板,如人类。
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
————————————————