首先,我们先明确什么是类,当然了奥特曼和小怪兽就属于类的范畴。它们各自属于某一事物的抽象集合,不是具体的东西,而是一个高度概括了的抽象概念。所有的类都可以是由生活中的模型演化而来,因此所有类其实都是源于生活,面向对象编程其实就是模拟现实生活。
奥特曼打小怪兽虽然看似不是源于生活,但是其实它只是把两个人或是两个动物搏斗的场景扩大了一些罢了。因此说它还是离不开生活。在java中,类可以作为一种自定义的数据类型,因此在调用方法时能够作为参数进行传递。
下面我们再来看对象,对象是类的具体化,也就是奥特曼这个类的具体,比如说迪迦奥特曼,还有赛文奥特曼,就是奥特曼类的具体,因此迪迦奥特曼和赛文奥特曼是对象。所以它们具有了现实的实际意义,就比如它们有了自己的名字叫做某某奥特曼,这是他们自己私有的属性,别的任何一个物体都是无法代替的,它就是唯一的我们要寻找的那个对象。一个类可以创建多个对象,但是一个对象只可能是源于一个类。
类是不占空间的,就比如说奥特曼这个概念是在人们的脑海之中存在的,它不占据任何的储存空间,具体一点说就是我们的地球空间,然而当地球遇到某某怪兽的时候,某某奥特曼出现了,想一想它会怎么样?不用多说,它必然会占据储存空间,也就是地球表面的面积,怪兽当然也是如此了嘛。
说了半天的理论知识,下面我们的具体一些来学习类和对象了:
类的组成:1.属性 2.方法
类的基本格式
public class 类名 {
private 数据类型 属性名;
public 返回值数据类型 方法名(数据类型 参数名,...){
//方法体
}
}
下面我们把内容再具体一些,还是采用熊哥的那个例子
1.场景:任振宇去考高数,考60分或60分以上,学分加1;考59分一下,学分不加。
特征:姓名,学分
行为:考试(高数)
高数
特征:课程名称,分数
public class Ren{
//定义他的属性
private String Name
private int score
//定义设置属性值得方法
publi void setName(String n){
name=n;
}
//设置得到名字的方法
public void setName(){
return Name;
}
2.实例化对象和调用方法的格式
实例化对象的关键字是:new
格式:
类名 对象名 = new 类名();
Student abc = new Student();
调用方法和属性的格式:
对象名.方法名(参数值,...);
对象名.属性;
abc.setName("任振宇");
String name = abc.getName();
abc.test("高数");
下面是奥特曼打小怪兽的代码:
//新建一个小怪兽类
public class Master{
//定义小怪兽的私有属性
private String name;
private int blood;
//定义设置姓名的方法
public void setName(String n){
name=n;
}
//定义得到姓名的方法
public String getName(){
return name;
}
//定义设置血量的方法
public void setBlood(int b){
blood=b;
}
//定义得到血量的方法
public int getBlood(){
return blood;
}
//定义打的方法,没打一次对方掉一点血
public void bit(Man man){
man.setBlood(man.getBlood()-1);
System.out.println(man.getName()+"被"+name+"打了,剩余血量是"+man.getBlood());
}
}
//新建一个奥特曼类
public class Man{
//定义奥特曼的私有属性
private String name;
private int blood;
//定义设置姓名的方法
public void setName(String n){
name=n;
}
//定义得到姓名的方法
public String getName(){
return name;
}
//定义设置血量的方法
public void setBlood(int b){
blood=b;
}
//定义得到血量的方法
public int getBlood(){
return blood;
}
//定义打的方法,每打一次对方掉一点血
public void bit(Master mas){
mas.setBlood(mas.getBlood()-1);
System.out.println(mas.getName()+"被"+name+"打了,剩余血量是"+mas.getBlood());
}
}
//定义一个打类也就是入口主函数所在类
public class Batter{
public static void main(String [] args){
//实例化对象
Master mas=new Master();
Man man=new Man();
//设置奥特曼和小怪兽的姓名属性
man.setName("奥特曼");
mas.setName("小怪兽");
//设置奥特曼和小怪兽的血量属性
man.setBlood(6);
mas.setBlood(7);
while(man.getBlood()>0&&mas.getBlood()>0){
//分别调用打的方法
man.bit(mas);
if(mas.getBlood()<=0){
System.out.println(man.getName()+"赢了");
}
mas.bit(man);
if(man.getBlood()<=0){
System.out.println(mas.getName()+"赢了");
}
}
}
}
分享到:
相关推荐
由于直接从乱码中提取知识点是不可行的,以上内容是基于对“面向对象系统分析与设计.pdf”标题和描述的理解,总结出的相关知识点。在实际的学习和工作中,应参考详尽的教材、文档和相关资源,以便深入掌握面向对象...
它通过将影像中的像素分割成具有相似光谱和空间特征的对象,再对这些对象进行分类,从而达到识别地物类型的目的。本文将详细介绍易康eCognition软件在面向对象分类中的详细步骤,并解释在每个步骤中所涉及的关键概念...
面向对象分析与设计是软件开发领域中的核心概念,它结合了计算机科学、工程学和管理学的方法,旨在创建高效、可维护的软件系统。在这个过程中,UML(统一建模语言)扮演着至关重要的角色,它是面向对象设计的标准化...
奥特曼模型在公司财务预警分析中的应用.pptx
详细介绍了面向对象的分析与设计,全面探讨了面向对象概念、软件开发过程、UML和多层技术。本书使用最常见的技术和方法,通过一个贯穿全书的案例分析,对面向对象的软件开发过程和使用面向对象技术的编程过程进行了...
在这本书中,读者可以系统地学习到从需求分析到设计实现的整个流程,以及如何将实际问题转化为面向对象的形式。这不仅包括理论知识,还包括了大量的实践案例,使得读者能够通过实例来加深理解。 面向对象编程是一种...
1. **对象与类**:对象是现实世界中可辨识的实体,而类是具有相同属性和行为的对象的抽象。类定义了对象的结构(属性)和行为(方法)。通过类,我们可以创建多个对象实例,每个实例都具有类定义的特性。 2. **封装...
**需求分析**是软件开发过程中的重要阶段,它旨在通过深入了解用户的实际需求来定义系统的功能和性能要求。在这个过程中,需要对现实世界的问题进行深入剖析,确保能够准确无误地捕捉到用户的具体需求。 **用例模型...
【校园二手交易平台】是一个针对大学生的在线平台,旨在方便学生之间的闲置物品交易。...这个设计包括了用例分析、类的设计、对象交互的顺序、协作关系、状态转换和具体业务流程,全面展现了系统的需求和设计思路。
本课程设计的目标是通过实践学习如何运用面向对象的方法来分析和设计复杂的系统,特别是图书管理系统这类信息管理软件。 在UML(统一建模语言)的框架下,我们可以用一系列图形化工具来表达系统的静态结构和动态...
6. **2面向对象分析.pdf** 可能更深入地探讨了分析过程中的复杂性管理,包括如何处理抽象、继承和组合等概念。 7. **9分析实例.ppt** 可能包含实际的案例研究,帮助学生将理论应用于实践,理解如何在真实项目中应用...
类图是 UML 图中的一种,用于描述系统中的类和它们之间的关系。在电梯控制系统中,类图可以用来描述电梯控制器、门、监视器等组件之间的关系。 从类图中我们可以看到,电梯控制器是系统的核心组件,它负责控制电梯...
在医院预约挂号系统中,设计和分析类是软件开发的关键步骤。以下是针对标题和描述中的知识点的详细说明: 首先,我们需要理解三个基本的分析类:边界类、控制类和实体类。 1. 边界类(Boundary Class): 边界类...
面向对象分析与设计(Object-Oriented Analysis and Design,简称OOAD)是软件工程领域中的核心概念,它涉及如何在软件开发过程中有效地理解和表述现实世界的问题,并将其转化为计算机程序的结构和行为。IBM的这个...
面向对象分析与设计(Object-Oriented Analysis and Design,简称OOAD)是软件开发过程中的重要环节,它结合了面向对象编程的思想,用于理解和构建复杂系统。本资料集中的PPT详细介绍了这一过程,特别是利用统一建模...
正如软件工程教学课件第10章所阐述的,面向对象分析是从用户的需求出发,通过构建精确的问题域模型来指导整个软件设计过程。在这一过程中,需求的明确、模型的构建、层次的划分以及约束的考量共同作用,确保软件产品...
继承则允许新类从现有类中派生,从而继承其属性和方法,同时可以添加新的功能或覆盖已有行为。这有助于减少代码重复,增强代码的层次性和可维护性。 3. **多态**:多态是指相同的操作可以作用于不同的对象,产生...
面向对象分析与设计(Object-Oriented Analysis and Design,简称OOAD)是软件工程领域中的一个核心概念,尤其对于初学者来说,理解并掌握这一技术至关重要。本资源“深入浅出面向对象分析与设计中文版”旨在以易懂...
面向对象分析是面向对象软件开发过程的第一步,其目标是从用户的角度理解问题域,并将其抽象成一组类和对象。OOA的主要任务包括识别类和对象、定义它们的属性和行为,以及建立它们之间的关系。在这个阶段,开发者...
封装是面向对象编程中的一个重要概念,它通过隐藏类的内部细节并对外提供公共接口来保护数据的安全性和完整性。封装使得类的使用者不必关心类内部的具体实现,而只需要了解如何使用该类提供的接口即可。这种做法不仅...