【发布时间】:2014-07-16 19:31:59
【问题描述】:
我只是没有看到封装的意义,我看到在某些情况下您可以修改 getter/setter 来修改某些东西的行为或跟踪状态,但是每当我创建一个非常规的 getter/ setter,我使用“修改”或“获得”之类的词,那么浪费时间编写实际上毫无意义且效率低下的重复方法有什么意义?
我只是不明白,当我还是一名年轻的程序员时,IRC 中的某个人告诉我,没有它是我的程序出现错误的原因,但我已经知道很多年了不是这样的,反正我一直在做,那有什么意义呢?
如果我以后需要重构,有一些奇怪的方法可以绕过它,但它们至少在具有重载运算符的语言中是这样的,而且 API 并不总是必须向后兼容,所以我不明白这一点。
- 谁能告诉我封装的必要性?
【问题讨论】:
-
-
你见过
std::string吗?您想每次都手动执行其所有内部操作吗? -
'什么是封装的要点'从长远来看保持代码可管理。
-
"谁能告诉我封装的必要性?"对这个主题最好的启发来自心存感激的同事,他们在你不打算让他们看到的部分代码中乱作一团。
-
@ResidentBiscuit:什么?
标签: encapsulation object-oriented-analysis