【问题标题】:Duplicate Implementation of Methods in Interface. Refactoring接口中方法的重复实现。重构
【发布时间】:2012-08-13 18:22:41
【问题描述】:

在一点帮助之后!

我正在重构一些代码,想知道是否可以创建抽象类方法的多个实现。

比如说,在我的一个子类中,我有一个输入属性,因此我有 setInput 和 getInput, 但是,在我的另一个子类中,我有两个输入属性,因此 setInput1、setInput2 和 getInput1 和 getInput2 它们都有相同的实现代码。有没有办法在我的抽象类中重构它?

谢谢!

我正在使用 Java。

【问题讨论】:

    标签: refactoring abstract-class subclass superclass


    【解决方案1】:

    与其根据参数的数量有两个不同的接口,不如考虑使用具有默认值的参数。目前尚不清楚您使用的是什么语言,但大多数语言都支持类似这样的伪代码:

    setInput(var input1, var input2 = NULL)

    【讨论】:

    • 我正在使用 Java。另外,我似乎不能这样做,我认为是因为输入是布尔类型?
    • 但这绝对是我想做的事情! :(
    • 我明白了,对于 java 来说,看起来你基本上是在正确的道路上。 Java 中不支持默认参数,因此人们可以使用“构建器模式”en.wikipedia.org/wiki/Builder_pattern,这几乎是您已经在做的......
    猜你喜欢
    • 2019-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-07
    • 2019-01-29
    • 2021-11-02
    • 2019-01-24
    • 2020-04-27
    相关资源
    最近更新 更多