作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Java 初学者,我想编写一款口袋妖怪战斗游戏。所以我的想法是我可以为用户随机生成一组神奇宝贝。这些将通过随机数生成器在数组中随机选择。一旦他们被选择了一个口袋妖怪,它就会打印出所有的统计数据和可能的 evo 以及属性等。我需要创建一个口袋妖怪抽象类,其中我将有一堆口袋妖怪的子类。我遇到的问题是,我没有什么独特的东西可以放入这些子类中,因为所有神奇宝贝都共享相同的“变量”。我正在为一个学校项目编写此代码,该项目要求我使用抽象类和多态性。因此,我可以将任何独特的东西放入我的子类中吗?
最佳答案
你自己已经回答了这个问题:你没有什么可以放入独特的口袋妖怪子类中,所以你不需要它们。相反,您可以在非抽象 Pokemon 类中创建构造函数,为特定 Pokemon 创建 Pokemon 对象。
示例:
public class Pokemon {
private String type;
private String health;
public Pokemon (String name) {
if (name.equals("Pikachu")) {
this.type = "electric";
this.health = 80;
} else if (name.equals("Charmander")) {
this.type = "fire";
this.health = 50;
}
}
// More of your code
}
这里的关键概念是具有不同功能的事物(又名新类型的统计数据、新的游戏机制)需要新的类。对于您已经拥有的功能(在抽象类或其他方式中)具有不同值的事物只需要该类的新实例:新对象。
关于java - 制作一个迷你口袋妖怪项目,我需要独特的类(class)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27532582/
我是一名优秀的程序员,十分优秀!