类vs 对象
在编程语言的学习中我们经常提到的通常会使类和对象,在初期学习c语言或者是c++的同学或许还没体会到这一点,因为就算是c++也只是部分面向对象化语言,但是在java语言上分析的话,java是完全面向对象化的语言,可不要小看这一个“完全”字眼,因为在我们初次与计算机交流时,最简单的hello word 就是用的public static void main(String 【】args【】)
谁说主函数就不是一个类了??
那 生活中有那些是对象?
对象:具体的某一个物体或者具体的某一个事物就是一个对象。
举例:
某一台电脑
特征:颜色,大小,型号,价格,材质,重量,品牌,...
行为(功能,用途):打字,计算,开机,连网,玩游戏,...
某一件衣服
所有你能想象到的都可以化归为类,“人以类聚,物以群分”脑海中突然冒出这一句话,所以在java中类的定义必须准确。
类和对象的关系是:类是抽象的,对象是实在的。
类是对象对属性和方法的抽象定义
this 关键字的陷阱:
在java中调用当前类的对象只用this.属性或方法即可
但是:
在C语言以及C++中相当于是一个指针,调用当前类的对象需要*this.属性及方法,这个陷阱曾经困扰了我很长时间,所以同时学习两门这种语言的同僚们要注意。
接下来就是用类与对象实现拳皇这个经典游戏的具体过程:
游戏很简单,到那时缺憾也是不少,比如说至进行了4人对战,而标准的拳皇应该是六人,三人各属一方。
再者未实现防御功能,以及积累一定攻击力可以放大招的情况,这不得不说是一种遗憾,希望在接下来的深入学习中可以实现。
package lesson1302; import java.util.*; public class King { private String name;//定义名字属性 private int power;//定义攻击力属性 private int blood;//定义血量属性 public King(String name,int power,int blood){//给构造函数赋值 this.name=name;//表示将传入的name值给当前调用构造函数的对象的name属性值 this.power=power;//表示将传入的power值给当前调用构造函数的对象的power属性值 this.blood=blood;//表示将传入blood值给当前调用构造函数的对象的blood属性值 } public void gongji(King a){//定义攻击方法 Random random = new Random(); //被攻击方失去血量 a.blood-=this.power;//被攻击方失去血量 System.out.println(this.name+"攻击了"+a.name+" 攻击力为"+this.power);// System.out.println(this.name+"剩余血量:"+this.blood+" "+a.name+"剩余血量为"+a.blood); if(a.blood<0){//判断胜负 System.out.println("THE KO-King IS+"+this.name); } else{ if(this.blood<0)//判断胜负 System.out.println("THE KO-King IS"+a.name);//输出赢者 } } public static void main(String[] args){//主函数入口 King king1;//定义第一个对象 king1=new King("暴走列昂娜",500,1000);//设置暴走列安娜的的攻击力以及血量 King king2; king2=new King("不知火舞",300,1200);//设置暴走不知火舞的攻击力以及血量 King king3; king3=new King("草雉京",800,1300);//设置暴走草雉京的的攻击力以及血量 King king4; king4=new King("二阶堂红丸",700,1000);//设置暴走二阶堂红丸的的攻击力以及血量 while(king1.blood>0&&king3.blood>0){//判断输赢 king1.gongji(king3);//实行循环攻击 king3.gongji(king1); } if(king1.blood>0){//假定king1赢了 while(king1.blood>0&&king4.blood>0){//那么king1暴走列安娜要和第二阵营的 //那么king1暴走列安娜要和第二阵营的king4二阶堂红丸决斗 king1.gongji(king4); king4.gongji(king1); } if(king1.blood>0){ System.out.println("第一阵营胜利!!!");//如果暴走列安娜赢了,那么第一阵营就胜出 } if(king4.blood>0){ System.out.println("平局!!!");//如果king4赢了,那就是平局 } } else{ //假定king3赢了 while(king3.blood>0&&king2.blood>0){//那么king3就要和king2决斗 king3.gongji(king2);//互相攻击 king2.gongji(king3);//互相攻击 } if(king3.blood>0){ System.out.println("第二阵营胜利!!!");//如果king3胜利了,那么第二阵营就胜出 } if(king2.blood>0){ System.out.println("平局!!!");//如果king2赢了,那么就是平局 } } } }
相关推荐
JAVA类与对象及数组习题 JAVA类和对象及数组是JAVA编程语言的基础概念。下面是关于JAVA类和对象及数组的习题,涵盖了构造方法、继承、多重继承、变量声明、数组初始化等方面的知识点。 1. 构造方法的调用方式: ...
类是创建对象的根源,它定义了同一类对象共有的属性和方法。类中的属性(Attribute)可以理解为对象所拥有的变量,而方法(Method)则是对象可以执行的操作或行为。 对象(Object)是类的实例(Instance),是具有...
本章的"【第5章:面向对象基础】_面向对象、类与对象的定义"将详细讲解面向对象编程的核心概念,包括如何定义类、创建对象,以及如何利用继承和多态性设计高效的程序。通过学习,你将能更好地理解和应用Java的面向...
面向对象程序设计是一种主流的编程范式,它以类与对象为基础,强调以对象为程序设计的核心。Java语言是面向对象的,其三大基本特征分别是封装、继承和多态。封装是将数据(属性)和代码(行为)绑定到一起,形成一个...
c++类与对象实习举例。
面向对象编程(OOP)是一种编程思想,它将复杂的信息对象化,将现实的关系抽象化装化成类,通过封装、继承、多态等方式进行处理。在OOP中,类和对象是两个基本概念。 类(Class)是一种引用数据类型,是对一类事物...
c++ 习题 4类与对象.doc (选择 解答 填空)
"java类与对象实例" 在 Java 中,类和对象是两个紧密相连的概念。类是一种蓝图,用于创建对象,而对象是类的一个实例。类描述了对象的基本结构,包括属性、方法和事件等。类设计的关键概念包括封装、继承和多态。 ...
在编程世界里,类与对象是面向对象编程(OOP)的核心概念,它们为我们提供了抽象、封装、继承和多态等重要特性。本教程“类与对象的分析与设计”将深入探讨如何从实际问题中抽离出这些概念,以便进行高效、结构化的...
常对象(Const Object)是指声明为const的类对象,它的成员函数不能修改数据成员。常成员函数(Const Member Function)是在类定义中声明为const的函数,它承诺不修改对象的状态。 最后,对象在内存中的分布情况...
在Java编程语言中,"类与对象教学(1)"是一个重要的学习主题,它涵盖了面向对象编程的基本概念,对比了面向对象编程(OOP)与面向过程编程(POP),并深入探讨了类、对象以及如何在实际开发中创建和使用它们。...
讲述类的声明和类体及其构成,构造方法和对象的创建
### Java类与对象详解 #### 一、面向对象编程的核心理念 面向对象编程(OOP)是一种编程范式,其核心在于将现实世界中的事物抽象为计算机中的对象,通过对象来模拟和处理复杂的问题。这一理念源于试图让编程更加...
在编程世界中,类与对象是面向对象编程(OOP)的核心概念。面向对象编程是一种设计和实现软件的方法,它基于“对象”的概念,而这些对象则是类的实例。类可以看作是创建对象的蓝图,它定义了对象的数据属性和行为。...
本章重点讲解了类与对象的概念及其在Java中的应用。 首先,面向对象的基本思想是基于现实世界的抽象,通过对象、类、继承、封装、多态等概念来构建程序。这种编程方式更符合人类的思维模式,使得代码更易于理解和...
【Java程序设计】类与对象是Java编程的核心概念,它们是面向对象编程的基础。类是对具有相似属性和行为的事物的抽象,而对象是类的实例,代表着具体存在的个体。 在【描述】中,该教案是为了2021年的高校教师资格证...
C++ 类与对象练习题带答案 本资源是一个 C++ 编程语言的练习题集,涵盖了类与对象的基础知识。练习题分为选择题和填空题两部分,涵盖了类的定义、对象的声明、成员函数、访问权限、继承等关键概念。 选择题 1. ...
"类与对象构建Java程序的基石优秀文档" 本文档主要讲述了Java程序设计的基础知识,涉及到类与对象的概念、关系、访问控制修饰符、面向对象编程的基本概念、抽象、封装、继承、多态等重要特征。 在第四章中,作者...