VB.NET设置类属性初始值

标签 vb.net class oop constructor new-operator

当基于类创建对象时。我不希望某些属性的值为 0 或什么都没有。所以我想将初始值设置为1。

这最好通过构造函数完成吗?

Class Product
    Public Property Price As Decimal

    Public Sub New()
        Price = 1
    End Sub
End Class

或者也可以这样写吗?第二个版本是否将值固定为 1,或者如果这样写,您也可以更改该值吗?

Class Product
    Public Property Price As Decimal = 1
End Class

最佳答案

无论您采用哪种方式,其功能都是相同的,但请遵循您的团队通常的做法以保持一致性。

但是,如果您确实有实例可以打开构造函数以允许根据给定构造函数的某些参数在初始化时设置这些属性,那么我会选择始终在构造函数中设置它以保持一致性。如果该属性在初始化时始终具有默认值 X,则将其内联到顶部以使其脱颖而出。

基本示例:

Class Product
    Public Property Price As Decimal = 1
    Public Property Quantity As Integer

    Public Sub New()
        Quantity = 0
    End Sub

    Public Sub New(quantity As Integer)
        Quantity = quantity
    End Sub
End Class

关于VB.NET设置类属性初始值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36286300/

相关文章:

asp.net - VB.NET 对 ASP.NET 5 (MVC6) 的支持

c++ - 在C++中匹配长字符串中的短字符串

c++ - 您是否考虑多个初始化步骤 "poor form"?

c++ - 如何在父类中创建子类的对象

XML 自定义序列化

vb.net - 在 VB.NET 项目中强制执行代码契约的编译时检测

arrays - 使用 vb.net 将数组转为 Excel

python - 为什么字典会在我不告诉它的情况下自动打印?

c++在分配对象私有(private)时

javascript - 无法解析 Javascript 对象方法 this 引用