扩展类以及实现接口

时间:2020-01-18 15:14:12

标签: oop design-patterns

是否有理由用抽象类扩展类以及实现接口?

在大多数情况下,这似乎是hack,而不是可靠的设计选择。

例如 我有一个类似的设置类:

public abstract class exampleAbstractSettings {
    private String ID = "ID-";
    private String channel;
    private HashMap<String, String> channelToKeyMap;
    private String address;
}

实现如下所示的接口:

public interface exampleSettingsInterface {
    String getType();
}

在类似的课程中:

public class exampleSettings extends exampleAbstractSettings implements exampleSettingsInterface {
    private boolean enabled = false;
    private int dataRate = 102000;
    private String type = SERIAL;
    private String address = "ttyAMA0";
}

基本上,这只是添加新字段而不弄乱JSON objectMapper的一种技巧。您可以为此使用@JsonIgnore批注。

然后按如下方式使用该接口:

(exampleSettingsInterface)objectOfExampleAbstractSettings.getType()

0 个答案:

没有答案