|
|
1
4
例如,我发现自己在一个项目中,我必须分析一个使用OOP和深度继承(>2)的站点,其中一个重要的基类有一个名为
魔术方法允许我通过将属性重命名为来解决问题。
也就是说,如果您只是将一个属性当作一个变量来处理,就不需要getter和setter。在这种情况下,只需将财产公之于众! 在您的例子中,由于正在进行验证/清理,所以您应该使用getter和setter,并将它们直接编码为方法(而不是不必要地从magic方法中产生开销)。 |
|
|
2
3
下面是我如何处理这个问题。
如果您有一个属性的自定义处理程序,它将被调用(假定它名为getproperty)。否则,将使用默认的get/set magic方法。 |
|
|
3
2
我倾向于遵循这样的规则:如果您有复杂的get或set逻辑,那么添加一个单独的get或set方法。如果你做一些简单的事情,你可以利用
|
|
|
M. Koch · API和应用层之间的合同应该放在哪个层/项目中? 3 年前 |
|
|
overexchange · 客户端锁定是否违反了同步策略的封装? 8 年前 |
|
|
mangochaser · java——具有多态性和封装的几何形状 8 年前 |
|
|
LBaelish · 安全/正确使用指针[关闭] 10 年前 |
|
|
Petr Marek · Javascript类封装行为 10 年前 |
|
|
Muhammad Ahsen Haider · 封装:Getter返回了什么? 10 年前 |