我应该在类中创建单个属性还是仅设置值来设置值?

时间:2011-10-02 18:42:17

标签: vb.net class methods properties

我正在学习vb.net,而我无法绕过以下内容......

我可以创建自定义类的几个属性并获取/设置值,或者我可以创建一个方法来一次设置它们。如果每个属性都允许读写,我应该只创建一个方法来同时分配值吗?我想我在这里错过了一件非常重要的作品。例如:

我可以创建2个属性:

    Public Class Employee
        Public Property LastName as string
        Get 
            Return strLastName
        End get

        Set(ByVal value as string)
            strLastName= value
        End Set
        End Property

        Public Property FirstName as string
        Get 
            Return strFirstName
        End get

        Set(ByVal value as string)
            strFirstName= value
        End Set
        End Property
    End Class

或者我可以创建一个方法:

    Public Class Employee
        Public Sub AddEmployee(ByVal strLastName, ByVal strFirstName)
            LastName = strLastName
            FirstName = strFirstName
        End Sub
    End Class

我为这样一个noob问题道歉,但是非常感谢任何见解。谢谢!

2 个答案:

答案 0 :(得分:2)

如果您只有一种方法,即使您只想更改单个字段的值, 也可以使用它。

此外,在这种方法中,如果您需要验证输入,则需要编写大量与所有字段无关的验证代码。

如果值必须一起更新,请使用方法一起更新它们,不要提供setter。

事实是,如何做到这一点取决于你在班上建模的内容。没有严格的规则表明属性比方法更好,反之亦然。

答案 1 :(得分:2)

没有理由不支持属性和设置多个属性的方法。

通常,构造函数用于创建类的实例并设置一些属性。在VB中,命名类方法“New”将其定义为构造函数。在您的示例中,如果将AddEmployeee方法重命名为New,则将拥有完美的构造函数。然后程序可以创建新的实例:

Dim emp1 as New Employee("Burdell", "George")