`
ycyxb104
  • 浏览: 26592 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

类和对象

阅读更多

从日常生活中看对象

       其实对象这个名次对我们来说一点也不陌生,因为我们的日常生活中。随处可见的都是对象,小到地上的一粒沙,大到中国的万里长城,埃及的金字塔,所有的东西都是对象(万物皆对象)。

       类只是个抽象的称呼,而对象是个看得到,摸的到,听得到的实例。有些时候我们也不用类的名称来称呼一个对象,而是直接使用对象的名称,如我家有只狗,它的名字叫小白,这里的狗是类名称,而小白就是对象的名称。既然它要叫小白而不叫小黄,小黑,一定是它本身有不同于其他狗对象的地方,比如说毛发的颜色,而你可能是它的主人,因为我们很少为陌生的狗取名字。而毛发的颜色,主人是谁等等都是用来描述这只狗的东西,我们称之为属性。

 

类的声明

public class 类名{

      private  数据类型 属性;

      public  返回值数据类型  成员函数名();

}

对象的实例化

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

如Student s1=new Student();

 

调用方法

对象名.方法名(实参或参数值);

如Student.study()

   Student.play(2);

 

 

 

下面是一个英雄联盟英雄徳玛西亚之力单挑大龙男爵的代码:

 

package netJava0706类和对象;

public class player{
	/**
	 * 定义属性
	 */
	private String name;
	private double blood;
	private double attack;
	private double defense;
	
	/*
	 * 定义方法
	 */
	public void setName(String s){
		name=s;
	}
	public String getName(){
		return name;
	}
	public void setBlood(double d){
		blood=d;
	}
	public double getBlood(){
		return blood;
	}
	public void setAttack(double d){
		attack=d;
	}
	public double getAttack(){
		return attack;
	}
	public void setDefense(double d){
		defense=d;
	}
	public double getDefense(){
		return defense;
	}
	
	public void NormalAttack(Boss b){
		double HP=b.getBlood()-(210-b.getDefense());
		b.setBlood(HP);
		System.out.print("盖伦对男爵造成了210点物理伤害,男爵血量剩余"+HP+"点");
	}
	public void Q(Boss b,player p){
		double HP=b.getBlood()-130-p.getAttack()*1.4+b.getDefense();
		b.setBlood(HP);
		System.out.println("Boss受到了盖伦致命打击技能的伤害,血量减少"+(130+p.getAttack()*1.4-b.getDefense())+",被沉默一个回合,男爵血量剩余"+HP+"点");
	}
	public void W(player p){
		p.setBlood(p.getBlood()+300);
		System.out.println("盖伦获得一个持续性的防御护盾,增加盖伦300点血量");
	}
	public void E(Boss b,player p){
		double HP=b.getBlood()-p.getAttack()*1.1-120;
		b.setBlood(HP);
		System.out.println("盖伦快速的旋舞大剑,每回合对男爵造成"+(p.getAttack()*1.1+120)+"点加上盖伦攻击力的110%点物理伤害,持续1回合。" +
				"男爵血量剩余"+HP+"点");
	}
	public void R(Boss b){
		double HP=b.getBlood()-525+b.getDefense();
		b.setBlood(HP);
		System.out.println("盖伦召唤徳玛西亚之力,试图斩杀男爵,造成男爵"+(525-b.getDefense())+"点魔法伤害,男爵每损失3.5伤害会多增加1伤害。"
		+"男爵血量剩余"+HP+"点");
	}
}

 

package netJava0706类和对象;

public class Boss {
	private String name;
	private double blood;
	private double attack;
	private double defense;
	
	public void setName(String s){
		name=s;
	}
	public String getName(){
		return name;
	}
	public void setBlood(double d){
		blood=d;
	}
	public double getBlood(){
		return blood;
	}
	public void setAttack(double d){
		attack=d;
	}
	public double getAttack(){
		return attack;
	}
	public void setDefense(double d){
		defense=d;
	}
	public double getDefense(){
		return defense;
	}
	
	public void NormalAttack(player p){
		double HP=p.getBlood()-(460-p.getDefense());
		p.setBlood(HP);
		System.out.println("男爵对盖伦造成了"+(460-p.getDefense())+"点物理伤害。盖伦血量剩余"+HP+"点");
	}
}

 

package netJava0706类和对象;

import java.util.Random;

public class war {
	public static void main(String[] args){
		player Garen=new player();
		Garen.setName("盖伦");
		Garen.setBlood(4500.0);
		Garen.setAttack(210.0);
		Garen.setDefense(300.0);
		Boss Baron=new Boss();
		Baron.setName("男爵");
		Baron.setBlood(9876.0);
		Baron.setAttack(460.0);
		Baron.setDefense(120.0);
		
		
		Random r=new Random();
		while (Garen.getBlood()>0&&Baron.getBlood()>0){
			int choice=r.nextInt(4);
			switch (choice){
			case 0:Garen.NormalAttack(Baron);break;
			case 1:Garen.Q(Baron,Garen);break;
			case 2:Garen.W(Garen);break;
			case 3:Garen.E(Baron,Garen);break;
			case 4:Garen.R(Baron);break;
			}
			Baron.NormalAttack(Garen);
		}
		if(Garen.getBlood()>0)
			System.out.print("盖伦斩杀男爵!!!");
		else
			System.out.print("男爵杀死盖伦!!!T.T");
		
	}
}

 

 

调试结果(部分):

 

Boss受到了盖伦致命打击技能的伤害,血量减少304.0,被沉默一个回合,男爵血量剩余863.0点
男爵对盖伦造成了160.0点物理伤害。盖伦血量剩余140.0点
盖伦获得一个持续性的防御护盾,增加盖伦300点血量
男爵对盖伦造成了160.0点物理伤害。盖伦血量剩余280.0点
盖伦快速的旋舞大剑,每回合对男爵造成351.0点加上盖伦攻击力的110%点物理伤害,持续1回合。男爵血量剩余512.0点
男爵对盖伦造成了160.0点物理伤害。盖伦血量剩余120.0点
盖伦对男爵造成了210点物理伤害,男爵血量剩余422.0点男爵对盖伦造成了160.0点物理伤害。盖伦血量剩余-40.0点
男爵杀死盖伦!!!T.T

 

分享到:
评论

相关推荐

    JAVA 教学 PPt(接口,类和对象尤其详尽)

    【JAVA 教学 PPt(接口,类和对象尤其详尽)】 在Java编程语言中,接口、类和对象是核心概念,对于理解和构建复杂的软件系统至关重要。让我们深入探讨这些主题。 1. 接口(Interface): Java中的接口是一种完全...

    类和对象object.zip

    在编程世界中,Java是一种广泛使用的面向对象的编程语言,其核心概念之一就是"类"和"对象"。本教学资料包"类和对象object.zip"聚焦于Java中的这一关键主题,旨在帮助S1课程的学生深入理解程序逻辑,通过实例教学、...

    Java-面向对象设计-类和对象.docx

    Java面向对象设计类和对象 Java面向对象设计类和对象是面向对象程序设计的基础,它将现实世界模型自然延伸到程序设计中。类和对象是面向对象设计的核心概念,类描述对象的属性和行为,对象是类的实例,是一个实实在...

    类和对象PPT

    类和对象的定义类是现实世界或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起。对象是具有类类型的变量

    第六章 类和对象(计算机等级考试二级C++).pdf

    在深入探讨C++编程语言的面向对象编程特点时,我们需要理解类和对象的相关概念。C++是一种支持面向对象的编程语言,而面向对象编程(OOP)的中心思想是将数据以及与数据相关的操作封装在一起,形成对象,以解决特定...

    c++类和对象习题答案

    C++是一种强大的面向对象编程(OOP)语言,它的核心特性之一就是类和对象。类是C++中定义数据类型的方式,它封装了数据和操作这些数据的方法,而对象则是类的实例,代表着程序中的实体或者概念。在这个“C++类和对象...

    java基础-类和对象的定义

    通过书籍,个人整理的java基础之类的对象的定义的有关知识点

    JAVA类与对象及数组习题

    JAVA类和对象及数组是JAVA编程语言的基础概念。下面是关于JAVA类和对象及数组的习题,涵盖了构造方法、继承、多重继承、变量声明、数组初始化等方面的知识点。 1. 构造方法的调用方式: 构造方法是类的特殊方法,...

    java类和对象练习题.docx

    java类和对象练习题.docx

    JAVA类和对象

    对JAVA学习中的类和对象进行详细介绍,很好的编程学习资料

    C++类和对象上机练习

    C++类和对象上机练习,相当好的东西,值得参考!希望对你有用!

    对于类和对象的个人理解

    在编程世界中,类和对象是面向对象编程(OOP)的核心概念,它们构成了许多现代编程语言的基础。这里,我们将会深入探讨“类”和“对象”的概念,并结合标签“源码”和“工具”,来阐述如何在实际的软件开发过程中...

    c++ 类和对象课件

    这个是c++类和对象的课件,与大家分享下

    C++类和对象.ppt

    C++类和对象 C++类和对象是面向对象编程(OOP)的基础概念,类是对对象的抽象描述,对象是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。现实中的对象都具有属性和行为。 类的概念 在C++中,类是一种...

    谭浩强c++类和对象

    综上所述,谭浩强的《C++类和对象》主要讲解了面向对象程序设计的基本概念,包括对象、类、封装性、信息隐蔽、抽象、继承和多态性。通过理解和掌握这些概念,开发者能够更有效地设计和构建大型、复杂的软件系统。在...

    java中类和对象

    Java是一种面向对象的编程语言,它的核心概念之一就是“类”和“对象”。理解这两个概念是学习Java的基础,也是编写复杂程序的关键。 首先,我们来解释什么是“类”。在Java中,类可以看作是创建对象的蓝图或者模板...

    java编程中的类和对象的详细介绍

    Java编程中的类和对象是面向对象编程的核心概念。面向对象编程(Object-Oriented Programming,OOP)是一种编程范式,它基于“对象”的概念,强调数据和操作数据的方法结合在一起,提供更好的代码组织和可维护性。 ...

    C++ 课程 实验三 类和对象的高级应用 实验报告

    在这个C++实验报告中,我们关注的是类和对象的高级应用,这涵盖了构造函数、复制构造函数、析构函数、静态成员变量、静态成员函数以及友元函数等核心概念。 首先,构造函数是用于初始化对象的特殊函数。在这个实验...

    C++:类和对象思维导图

    这是关于C++类和对象特性的思维导图,更加详细的解释请查看我的个人博客

    类和对象的核心概念new1---马克-to-win Java视频

    类和对象的核心概念new1---马克-to-win java视频 马克Java社区 马克towin

Global site tag (gtag.js) - Google Analytics