11.12学习总结

初学面向对象感觉有一定的难度,视频看完,觉得自己没学明白,真到自己动手写的时候认识到自己却似还没学明白,还是要写大量的实例才能加深自己的理解及对知识的掌握。

类和对象

类是Java中最基本的概念之一,它是一种用户自定义的数据类型。 在Java中,我们使用类来描述一类对象的共同属性和行为。对象是类的一个实例,它具有类所描述的属性和方法。

封装

封装是面向对象编程的一种重要概念。它可以将数据和方法隐藏在类的内部,仅允许类的公共接口与外界交互。这提高了程序的安全性和可维护性,并使代码更易于理解和扩展。

继承

继承是一种面向对象编程的重要概念,它允许类在现有类的基础上创建新类。新类称为子类,已存在的类称为父类或超类。子类可以继承父类的属性和方法,还可以添加新的属性和方法。继承可以提高代码的可重用性和可扩展性。

下面是我学习Java后的一个不太成熟的小游戏(全自动)

定义了一个角色类,其中包含了角色的姓名和血量属性,以及一个攻击方法。攻击方法接收一个角色对象作为参数,出造成的伤害并更新被攻击角色的血量属性。

文字版格斗游戏

package 文字版格斗游戏;

	import java.util.*;

	import javax.management.relation.Role;

	public class role {
	  private String name;
	  private int blood;
	  
	  public role() {
	  
	}
	  public role(String name,int blood) {
		  this.name=name;
		  this.blood=blood;
	  }public String getname() {
		  return name;
	  }public void setname(String name) {
		  this.name=name;
	  }public int getblood() {
		  return blood;
	  }public void setblood(int blood) {
		  this.blood=blood;
	  }
		//定义一个方法用于攻击别人
	  //思考谁攻击谁?
	  //role r1=new role();
	  //role r2=new role();
	  //r1.攻击r2;
	  //方法的调用者去攻击参数
	  public void attack(role ro) {
		  //计算造成的伤害1-20
			Random r = new Random();
			int hurt = r.nextInt(20) + 1;
			//剩余血量
			int remainBlood = ro.getblood() - hurt;
			ro.setblood(remainBlood);
			System.out.println(this.getname() + "举起拳头,打了" + ro.getname() + "一下," + "造成了" + hurt+"点伤害," + ro.getname()
					+ "还剩下了" + remainBlood + "点血");
		}
	  
	}

package 文字版格斗游戏;
public class GameTest {
	public static void main(String[] args) {
		//创建第一个角色
		role r1=new role("乔峰",10000);
		//创建第二个角色
		role r2=new role("鸠摩智",100);
		while(true) {
			//r1开始攻击r2
			r1.attack(r2);
			//判断r2的血量
			if(r2.getblood()<=0) {
				r2.setblood(0);
				System.out.println(r1.getname()+"K.O了"+r2.getname());
				break;
			}//r2开始攻击r1
			r2.attack(r1);
			if(r1.getblood()<=0) {
				r1.setblood(0);
				System.out.println(r2.getname()+"K.O了"+r1.getname());
				break;
			}
		}
	}
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m5_jkl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值