我有一个机器课。
public class Machine {
}
答案 0 :(得分:1)
使用start(),stop(),isRunning(),fill(...)和getFuelType()方法创建一个名为“ Engine”的接口,然后让SteamEngine和InternalCombustionEngine都可以实现该接口最好的方法。
答案 1 :(得分:1)
看看Interfaces。
基本思想:您必须在机器和它可以使用的引擎之间提供合同。无论您连接到计算机的任何引擎,它都必须提供已知方法,以便计算机可以控制它。
您可以使用的界面示例:
public interface Engine {
public void start();
public void stop();
public void fill(FuelType fuelType, int fuelLevel);
public FuelType getFuelType();
}
现在,每个引擎都必须实现此接口:
public class InternalCombustionEngine implements Engine {
public void start() {
//implementation
}
public void stop() {
//implementation
}
public void fill(FuelType fuelType, int fuelLevel) {
//implementation
}
public FuelType getFuelType() {
//implementation
}
}
最后,为了能够使用Engine,您最好为Machine
类提供一个构造器,以接受实现了Engine
接口的 any 对象:
public class Machine {
public Machine(Engine engine) {
this.engine = engine;
}
//.......
}
此方法为您提供了一种灵活且可扩展的方式,以彼此独立地替换引擎或机器。并提供了分别开发每个组件的良好可能性。
答案 2 :(得分:0)
您可以通过两种方式进行操作。
实现interface
,基本上是一个仅包含抽象方法以及静态或最终变量的类。您可以在类中使用关键字implements
来实现它。
另一种方法是使用抽象类。它可以包含抽象和非抽象方法,最终,非最终,静态和非静态变量。您可以使用关键字extends
来实现它。