我应该在哪里编写代码来检查类属性的有效性?(例如:"amount"应为正整数,"email"应为具有正确电子邮件格式的字符串)在setter方法中,在某处我使用它(使用try/catch)或其他.
如果我在setter方法中检查有效性,它可能看起来很丑陋(如类型检查).但是如果我在使用它时检查它,重复的代码可能会在多次使用时出现.
(抱歉我的英语不好.)
如果您确实需要这样做,那么一定要在 setter 中进行。
首先,setter 的调用频率可能低于 getter,因此您所做的工作也更少。
其次,你能更早地发现问题。
第三,它保持对象的内部状态一致。排除不良数据意味着您知道您的对象是“正确的”。