java - NetBeans-Java : is it necessary to use object classes for a small-deal text based game?

标签 java netbeans

在我的类里面,我需要利用我们在这学期学到的东西来创建一个程序。我正在考虑创建一个类似于 Zork 或 Adventure(1977)的小型基于文本的游戏,但是是否有必要使用对象和对象类来实现这样的东西?

最佳答案

... would it be necessary to use objects and object classes for something like this?

定义“必要”。

如果游戏足够小,理论上您可以将其全部放入一个中,并使用静态方法、原始类型、数组、标准类型等

但是,这不是正确的做事方式。 Java 是为面向对象编程而设计的。如果您尝试以错误的方式使用它,您最终将“与类型系统作斗争”,并且代码的可读性和可靠性将受到影响。

为了说明我正在谈论的内容,这两者在所代表的含义方面大致相同:

  public class Player {
      private String name;
      private int id;
      // add constructor, getters, setters
  }

  Map<String, Object> player = new HashMap<>();
  player.put("name", "fred");
  player.put("id", 42);

但在后一种情况下,代码库将充满这样的内容:

  int currentId = (Integer)(player.get("id"));

它至少在两个方面是脆弱的。如果您输错了“id”字符串,您将得到一个NullPointerException。如果你把类型弄错了。你会得到一个ClassCastException。在这两种情况下,编译器都无法帮助您;这些是未经检查的异常。

<小时/>

总结:这并不是绝对/严格必要的,但如果您没有在哪怕是一个很小的 ​​Java 程序中适本地使用自定义类和对象,您(坦白说)就会发疯

关于java - NetBeans-Java : is it necessary to use object classes for a small-deal text based game?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36671321/

相关文章:

java - Web 服务上下文路径而非 Web 应用程序路径

java - 什么是NullPointerException,我该如何解决?

java - 关闭循环 javax.sound.sampled 剪辑

java - springboot + eureka + log4j2 空日志文件

java - 在 Tomcat 上运行 Java 应用程序

java - 如何修复 Ubuntu 10 上的 Netbeans 7.0 严重损坏的外观问题

ruby-on-rails - RuntimeError (Please install the jdbcmysql adapter : `gem install activerecord-jdbcmysql-adapter` (no such file to load -- java))

Java 游戏区难度

java - EAR 正在打包 WAR 和 JAR 项目的两个副本

java - 如何使我的默认 JDK FX 启用?