VB.NET设置class属性初始值
VB.NET setting class property initial value
基于 class 创建对象时。我不希望某些属性的值为 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
最后是一样的,在这两种情况下您都可以更改值。
没什么区别,您可以更改该值,除非它是 const 或 readonly。如果你做第二个,编译器会像你的第一个版本一样转换它。这是一个小程序,可以向您展示。这将显示 0,然后显示 1。
Module Module1
Sub Main()
Dim o As New B
Console.ReadLine()
End Sub
End Module
MustInherit Class A
Public Sub New()
Show()
End Sub
Public MustOverride Sub Show()
End Class
Class B
Inherits A
Private test As Integer = 1
Public Sub New()
MyBase.New()
' Value for test is being set here
Show()
End Sub
Public Overrides Sub Show()
Console.WriteLine(test)
End Sub
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
基于 class 创建对象时。我不希望某些属性的值为 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
最后是一样的,在这两种情况下您都可以更改值。
没什么区别,您可以更改该值,除非它是 const 或 readonly。如果你做第二个,编译器会像你的第一个版本一样转换它。这是一个小程序,可以向您展示。这将显示 0,然后显示 1。
Module Module1
Sub Main()
Dim o As New B
Console.ReadLine()
End Sub
End Module
MustInherit Class A
Public Sub New()
Show()
End Sub
Public MustOverride Sub Show()
End Class
Class B
Inherits A
Private test As Integer = 1
Public Sub New()
MyBase.New()
' Value for test is being set here
Show()
End Sub
Public Overrides Sub Show()
Console.WriteLine(test)
End Sub
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