现在这是 .NET,但我确信主体应该适用于所有 OOP 语言,为了简化,我以 .NET 为例:
R# 通常是创建者构造函数并将传入变量传递给私有(private)字段,对我来说,我倾向于将其传递给属性。
关于不同之处以及最佳实践是什么的任何意见?
最佳答案
使用属性是可以的,只要它们不是虚拟的/覆盖的。属性本质上是方法,你不应该在构造函数中调用虚方法,因为可能还没有构造合适的类型。微软已经列出了自己的set of guidelines ,只需向下滚动到底部即可查看说明问题的相关指南和代码片段(他们使用方法来说明问题,但正如我提到的 .NET 属性本质上是特殊方法)。
关于.net - 构造函数变量是否应该直接传递给私有(private)字段或属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/131517/