gpt4 book ai didi

java - 在 LibGDX 中使用抽象屏幕

转载 作者:行者123 更新时间:2023-12-01 11:26:10 26 4
gpt4 key购买 nike

我想为我的 LigGDX 游戏使用抽象屏幕。我读过很多网站,其中许多网站仅使用抽象屏幕将通用代码(例如通用方法)分组在一起。如果是这种情况,我们可以简单地使用普通的类来完成任务。

抽象屏幕的最初目的应该是这样的:

当抽象类被子类化时,子类通常为其父类中的所有抽象方法提供实现。但是,如果没有,则子类也必须声明为抽象。

有人可以解释一下这种情况吗?

谢谢

最佳答案

抽象允许您拥有许多共享某些功能但在实现上可能有所不同的类。然后,您可以将某些内容声明为抽象类,并将实现留给子类。

例如,也许您的程序有一只猫、一只狗、一只老鼠和一只蜘蛛。好吧,这四种动物都是动物,尽管它们在细节上有很大不同,但它们都有一些共同的功能。猫、狗、老鼠和蜘蛛都会移动,也会吃东西,但它们的行为方式却截然不同。您可以声明一个 Animal 抽象类,然后声明一个 Spider 类、一个 Cat 类、一个 Dog 类,最后声明一个 Rat 类,所有这些都扩展了 Animal。

public abstract class Animal {
int numLegs;
float speed; // in meters per second
int weight;

abstract void walk();

abstract void eat(Object food);
}

public class Cat extends Animal {
public Cat() {
numLegs = 4; // cats generally have 4 legs
weight = 10; // 10 pounds
speed = 13; // cat can run 13 meters per second
}

public void walk() {
// TODO: implement walking functionality for cat
}

public void eat(Object food) {
// TODO: implement check to make sure food isn't poisonous
// TODO: make cat eat food
}
}

// Similarly for other animals

public class MyProgram {
public void myWorld() {
List<Animal> animals = new ArrayList<Animal>();
animals.add(new Cat());
animals.add(new Spider());

for (Animal a : animals) {
a.move();
}
}
}

查看this文档以获取更多详细信息。

关于java - 在 LibGDX 中使用抽象屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30793412/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com