oop - 这是 setter 'evil'

标签 oop setter

有很多关于 getter 和 setter 是“邪恶的”以及什么不是。

我的问题是:以下二传手是邪恶的吗? (为简洁起见,其余类(class)省略)

int balance

public void deposit(int amount)  
{  
    this.balance += amount;  
}

此类正在模拟 ATM。在英国,有一些 ATM 可以让您存款和取款,因此这个对象需要一种改变其状态(余额)的方法。这个二传手是“邪恶的”吗?

最佳答案

除了没有处理异常条件这一事实之外,它看起来像一个完美的 OO 方法——它被称为它所做的,它做你所期望的。

关于oop - 这是 setter 'evil',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/587695/

相关文章:

java - 通过作为方法参数传递对象的副本

c# - Automapper 是否应该与私有(private) setter OOB 一起使用?

javascript - 使用 getter 和 setter 的意外行为

java - Java 8 是否存在一些方便的方式来增加对象的属性?

java - 在 getter/setter 中创建一个计数器?

多个派生类的泛型工厂的 C# 结构

java - 通过公共(public)方法访问私有(private)成员变量

mysql - Symfony 1.4 setter 类型 double

python - 在类中的 python 中调用方法与使用来自 __init__ 的字段之间的区别?

java - 处理依赖 Java 库添加新类吗?