是否有关于私有方法签名的OOP约定 - 直接使用字段或获取参数?

时间:2015-02-03 08:37:49

标签: oop methods field private convention

我想知道在使用私有方法时,以下哪项是更好的OOP练习。字段是应该直接使用,还是像参数一样提供给方法?

class MyClass {
    private int myNumber;

    public MyClass(int number) {
        this.setMyNumber(number);
    }

    public void setMyNumber(int number) {
        this.myNumber = number;
    }

    public int getMyNumber() {
        return this.myNumber;
    }

    public int getTransformedNumber() {
        return transformNumberInSomeWay1();
        // OR 
        return transformNumberInSomeWay2(this.getMyNumber());
    }

    private int transformNumberInSomeWay1() {
        int number = this.getMyNumber();

        <... transformation of the number ...>

        return number;
    }

    private int transformNumberInSomeWay2(int number) {
        <... transformation of the number ...>

        return number;
    }
}

如果我对字段myNumber以外的其他东西使用转换数字方法,第二种方法更好。如果我实际上没有将它用于其他任何事情,那么我不知道该课程的开发会如何?我应该总是以第二种方式做到这一点,还是让需要它的人在以后改变它?

0 个答案:

没有答案