java面向对象思想(java 面向对象)

本篇文章给大家谈谈java面向对象思想,以及java 面向对象对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

1、使用Java面向对象的思想设计一个即时战略游戏的类结构 主要类如下: (1)人口类(Person)2、fieldsetjava基础1java基础1.面向对象的特征有哪些3、java是面向对象还是面向过程

使用Java面向对象的思想设计一个即时战略游戏的类结构 主要类如下: (1)人口类(Person)

package baidu;

public class Person {

//生命值

private int lifeValue;

//攻击力

private int attackPower;

//消耗资源数

private int needResource;

public int attack(String select){

return this.lifeValue;

}

public int getLifeValue() {

return lifeValue;

}

public void setLifeValue(int lifeValue) {

this.lifeValue = lifeValue;

}

public int getAttackPower() {

return attackPower;

}

public void setAttackPower(int attackPower) {

this.attackPower = attackPower;

}

public int getNeedResource() {

return needResource;

}

public void setNeedResource(int needResource) {

this.needResource = needResource;

}

}

package baidu;

public class Nurse extends Person {

public void cure(){

System.out.println(“begin cure!”);

}

}

package baidu;

public class Sapper extends Person {

private int collectRes = 0;

//创造建筑createConstruction(),采集资源collectResource()

public void createConstruction(){

System.out.println(“begin to createConstruction…”);

}

public int collectResource(){

return collectRes;

}

}

package baidu;

public class Player {

//玩家名称。玩家资源值,玩家所拥有的人口对象,玩家所拥有的建筑对象。

private String player_name;

private int player_res;

private Person player_per;

private Construction player_con;

public String getPlayer_name() {

return player_name;

}

public void setPlayer_name(String player_name) {

this.player_name = player_name;

}

public int getPlayer_res() {

return player_res;

}

public void setPlayer_res(int player_res) {

this.player_res = player_res;

}

public Person getPlayer_per() {

return player_per;

}

public void setPlayer_per(Person player_per) {

this.player_per = player_per;

}

public Construction getPlayer_con() {

return player_con;

}

public void setPlayer_con(Construction player_con) {

this.player_con = player_con;

}

}

package baidu;

public class Person {

//生命值

private int lifeValue;

//攻击力

private int attackPower;

//消耗资源数

private int needResource;

public int attack(String select){

return this.lifeValue;

}

public int getLifeValue() {

return lifeValue;

}

public void setLifeValue(int lifeValue) {

this.lifeValue = lifeValue;

}

public int getAttackPower() {

return attackPower;

}

public void setAttackPower(int attackPower) {

this.attackPower = attackPower;

}

public int getNeedResource() {

return needResource;

}

public void setNeedResource(int needResource) {

this.needResource = needResource;

}

}

package baidu;

import java.util.Scanner;

public class PlayTest {

public static void main(String[] args) {

Player p1 = new Player();

Player p2 = new Player();

//设置第一个玩家的游戏信息

p1.setPlayer_name(“player1”);

//攻击力

p1.getPlayer_per().attack(“a1”);

p1.getPlayer_per().setLifeValue(30);

p1.getPlayer_per().setNeedResource(0);

p1.getPlayer_con().setNeedResource(0);

p1.setPlayer_res(0);

//设置第二个玩家的游戏信息

p2.setPlayer_name(“player2”);

//攻击力

p2.getPlayer_per().attack(“a2”);

p2.getPlayer_per().setLifeValue(30);

p2.getPlayer_per().setNeedResource(0);

p2.getPlayer_con().setNeedResource(0);

p2.setPlayer_res(0);

//开始准备资源

p1.getPlayer_per();

p1.getPlayer_con();

p2.getPlayer_per();

p2.getPlayer_con();

//游戏规则

String key1 = “a1”;

String key2 = “Sc1”;

String key3 = “Sr1”;

String key4 = “Nc1”;

Scanner sc = new Scanner(System.in);

String input = sc.nextLine();

if(key1.equals(input)){

p1.getPlayer_per().setLifeValue(p1.getPlayer_per().getLifeValue()+1);

p1.getPlayer_per().setNeedResource(p1.getPlayer_per().getNeedResource()+1);

p2.getPlayer_per().setLifeValue(p2.getPlayer_per().getLifeValue()-1);

}else if(key2.equals(input)){

p1.getPlayer_con().setCurrentSum(+1);

p1.setPlayer_con(p1.getPlayer_con());

}else if(key3.equals(input)){

p1.setPlayer_res(p1.getPlayer_res()+1);

}else if(key4.equals(input)){

p1.getPlayer_per().setLifeValue(+1);

p1.setPlayer_per(p1.getPlayer_per());

}

System.out.println(“当前玩家1的进攻以及资源”);

System.out.println(“当前玩家2的进攻以及资源”);

}

}

fieldsetjava基础1java基础1.面向对象的特征有哪些

一、面向过程的思想和面向对象的思想

面向对象和面向过程的思想有着本质上的区别, 作为面向对象的思维来说,当你拿到一个问题时,你分析这个问题不再是第一步先做什么,第二步再做什么,这是面向过程的思维,你应该分析这个问题里面有哪些类和对象,这是第一点,然后再分析这些类和对象应该具有哪些属性和方法。这是第二点。最后分析类和类之间具体有什么关系,这是第三点。

面向对象有一个非常重要的设计思维:合适的方法应该出现在合适的类里面

二、简单理解面向对象

就是在程序里面首先分解出来的应该是注意不再是一步一步的过程了,而是首先考虑在这个问题域里面或者程序里面应该具有有哪些对象,所以从现在开始考虑任何问题脑子里不要再想着我实现这件事我第一步应该干什么,第二步应该干什么,如果这样想,那就是面向过程的思维了。面向对象的思维是,当我碰到这个问题域的时候,碰到这个程序的时候,我首先应该把这个问题里有哪些对象,对象与对象之间有什么关系抽象出来。

三、面向对象的设计思想

面向对象的基本思想是,从现实世界中客观存在的事物出发来构造软件系统,并在系统的构造中尽可能运用人类的自然思维方式。

面向对象更加强调运用人类在日常生活的逻辑思维中经常采用的思想方法与原则,如抽象、分类,继承、聚合、多态等。

人在思考的时候,首先眼睛里看到的是一个一个的对象。

四、对象和类的概念

对象是用于计算机语言对问题域中事物的描述,对象通过“属性(attribute)”和“方法(method)”来分别对应事物所具有的静态属性和动态属性。

类是用于描述同一类的对象的一个抽象的概念,类中定义了这一类对象所具有的静态属性和动态属性

类可以看成一类对象的模板,对象可以看成该类的一个具体实例。

eg.什么叫瓶子?

瓶子的定义:具有某些类特征的东西就是瓶子,比分说什么样的形状,比方说有个口,能倒水,能装水,一般有个盖等等。给瓶子下定义的过程,其实就是把瓶子里的某些东西抽象出来了,所以瓶子在这里是叫做一类事物的一个抽象,在你脑子里有瓶子的概念,可瓶子的概念在你脑子里到底是什么呢?瓶子的概念在你脑子里叫做一类事物的一个抽象。怎么抽象的呢?你往往抽象的是这两个方面:第一个方面我们叫它静态的属性,瓶子应该具有哪些特征,比分说瓶子应有个口,这是它的具有的一个静态属性,瓶子一般有一个盖,这也是它的具有一个静态属性,除此之外,你还可能给它总结动态的属性,什么动态的属性呢?比放说瓶子能倒水,这是它的动态属性。瓶子这个概念在你脑子里如果你细细的思维的话,其实你给它做了两方面的总结,一方面是静态的,一方面是动态的。反映到JAVA的类上,一个就是成员变量(静态属性),一个就是方法(动态属性)方法是可以执行的,可以动的。成员变量是某一个类的静态属性。所以你脑子里瓶子的概念实际上是一类事物的一个抽象,这种东西我们叫它类,椅子是类,桌子是类,学生是类。什么是对象呢?这一类事物的具体的某个实例就叫做对象。所以一类事物的具体的某一个东西,符合这类事物具体的特征的某个东西就叫做对象。瓶子是一个类,某个瓶子就是瓶子这个类里面的一个对象。

五、如何抽象出一个类?

有两个方面,一方面是它的静态属性,另一方面是它的动态属性。反映到JAVA里面的类怎么包装它呢?一方面成员变量,另一方面是方法。

eg.职员这个类该怎么抽象出来?也是从两个方面,一方面是它的静态属性,另一方面它的动态属性

职员有哪些属性呢?有姓名,年龄,目前工资数额等属性,他有哪些方法呢?让这个职员来显示姓名,显示年龄,修改姓名,领取工资。当然显示姓名,显示年龄,修改姓名,领取工资这些也可以让别人来做,但面向对象的设计思维是最合适的方法应该出现在最合适的类里面。显示姓名,显示年龄,修改姓名,领取工资由谁来做更合适呢,那就是职员自己最合适。所以这些方法应该出现在职员这个类里面。

java是面向对象还是面向过程

java是面向对象的。

但开发可以不是面向对象的,面向什么只是编程思想,不是编程语言,只能说这个编程语言更适合某个编程思想。我也见过新手把java写成面向过程的,代码又长有不容易理解。

面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的行为。

面向过程是把构成问题事务分解成各个步骤,建立每个步骤应该完成的事务,各个步骤组合从而完成某个事务,总体来说是为了描叙某个事物在整个解决问题的顺序步骤。

java面向对象思想(java 面向对象)

关于java面向对象思想和java 面向对象的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月31日 23:34:04
下一篇 2024年3月31日 23:42:16

相关推荐

  • java读取一个字符,java读入一个字符串

    java中如何用Scanner类读入单个字符 1、首先在使用Java编程时,需要先导入java工具包,这样后面才可以使用接受输入和输出的java语句。然后需要创建一个输入类的对象,这里类的名称命名为scan对象。接着定义一个s的字符串变量,接受键盘的任意字符串的输入。 2、初学java,用scanner怎么input单个字母。 有没有chara=scanne…

    2024年5月18日
    2800
  • java程序设计教程,java程序设计教程第二版

    Java语言简单程序设计 java语言程序设计就是使用Java语言(是一种可以撰写跨平台应用软件的面向对象的程序设计语言)编写代码,给出解决特定问题程序的过程。 首先,人物类,person ,Teacher类和CollegeStudent类继承之。 它是目前Internet最流行的编程语言之一,具有高度的安全性、可移植性和代码可重用性。Java程序设计由13…

    2024年5月18日
    4000
  • java类别树,java树的分类

    用java怎么构造一个二叉树呢? 在Java中,你可以定义一个类来表示后序线索二叉树,其中包含有头节点、尾节点和当前节点指针。你可以使用递归或迭代方法遍历整棵树,并创建线索,即存储前驱和后继节点的指针。 建立两个类就应该可以了。一个是树的节点,一个是树,这个是我以前编写的宽度优先遍历的树的构建和遍历,希望对你有帮助。 首先我想问为什么要用LinkedList…

    2024年5月18日
    2700
  • 滑动验证码java,滑动验证码平台

    怎么实现滑动拼图验证码功能? 首先随便找一张图片渲染到canvas上,这里#canvas作为画布,#block作为裁剪出来的小滑块。 重置验证码:在每次验证完成后,重置验证码以允许下一次验证。 打开需要验证的网站,找到滑动拼图验证码的位置。点击拼图,拖动到正确的位置。如果拖动到错误的位置,会有提示,需要重新拖动。如果验证成功,会有提示,可以继续操作。滑动拼图…

    2024年5月18日
    3300
  • javabigdecimal序列化,java序列化实现

    请问,java里,如何把BigDecimal类型转成Integer 1、可以使用强制转换来语句来实现数据类型从Long类型转换成Integer或int类型。 2、自动类型转换 自动类型转换,也称隐式类型转换,是指不需要书写代码,由系统自动完成的类型转换。由于实际开发中这样的类型转换很多,所以Java语言在设计时,没有为该操作设计语法,而是由JVM自动完成。 …

    2024年5月18日
    3400
  • java拆箱装箱,java装箱拆箱作用

    java开发工程师必须要学的技术有哪些 1、java工程师需要学习的内容有很多,比如java语法、java界面编程、JavaScript脚本语言等等。 2、JavaEE基础:Java基础语法、面向对象、核心类库、集合、异常、IO、线程、JDK新特性。JavaWeb开发:前端技术、数据库、JAVA数据库操作、软件服务器及服务器相关技术、动态网页JSP、AJAX…

    2024年5月18日
    3100
  • java导入pdf,java导入数学包

    java生成pdf,图片怎么导不进去? 可以用生成PDF报表的Java组件–iText。具体实现方法如下:导入itext-2。1。5。jar跟itextasian-1。5。2。jar两个包到项目里,建立一个pdf文件。一般情况下,iText使用在有以下一个要求的项目中:1。 出现这个问题的原因就是,提问者用的是字符流,实际不确定文件类型的时候,需…

    2024年5月18日
    3400
  • 四则运算java代码,java四则运算实验报告

    简单的java四则运算问题,请大神们指点下。 interceptOperation:对你输入的算式(加减乘除,例如:1*2+2/2)进行运算。传入的a、b参数目测应该为‘*’,‘/’或者+,-。 首先分析一下四则运算表达式的规律就有思路了:四则运算式子都是 “数字 运算符 数字 运算符……”这种形式,也就是两头肯定是数字,运算符两边总是数字。数字可以有多位,…

    2024年5月18日
    3700
  • java图片二进制存到数据库,图片二进制存入数据库

    在java中如何将图片保存到数据库? 1、一般都是这样的,就是在你服务器有一个专门放置图片的文件夹,然后数据库保存的是你服务器图片的路径。需要用的时候就去数据库里面取路径。得到路径以后你想怎么处理图片是你的事情了。 2、另外一种办法是,将图片通过Base64编码后存储到数据库中,数据库中存储图片的base64编码的二进制可以使用TEXT(mysql)类型。 …

    2024年5月18日
    3300
  • java中文社区,forumjava

    请问有哪些电脑论坛好些? 天涯论坛、新浪论坛、猫扑社区、凤凰论坛、搜狐论坛、网易论坛、凯蒂社区、中国网论坛、王大奇论坛。 1978年,美国芝加哥开发了一套基于8080芯片的BBS芝加哥,这是最早的BBS系统。后来随着Mac的出现,开发了基于Mac的公告板。 Coursera(.coursera.org)- Coursera 是在线教育平台,提供数千个或收费的…

    2024年5月18日
    4200

发表回复

登录后才能评论



关注微信