使用oops进行系统设计

时间:2019-04-08 18:07:38

标签: java oop

我有一个机器课。

public class Machine {



}

3 个答案:

答案 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来实现它。