2015-07-20 71 views
1

我需要创建一个类。一个相当简单的。我们将这个类别称为clsItem,只是为了这个问题。这个类必须持有的值是:创建实例化时使用的类和自定义对象(或类型?)

  • PointX - 一个点
  • PointY一些X坐标 - 一些Ÿ坐标的点
  • Type - 这将是(如计算机的几个选项之一,打印机,路由器,服务器)

我对创建一个类,属性,获取/设置,等等,只是为了直接值有点舒服。然而,当创建这个类的一个实例,并填写新实例的参数时,我想枚举选项出现(我想我至少在查找枚举)。

一个实例会要求(如上)(X坐标,Y坐标,类型)

Dim NewClass As New clsItem(50, 75, Type.Computer)** 

或者Type.PrinterType.Router ....

Type.[whatever]的实际值可能只是一个数字,我想(0,1,2 ....)。但我怎么去设置这个,所以我实际上正在编写这个类,我可以使用这个属性?

还有Dim something As IntegerAs String。所以我认为我需要 Dim something As HardwareType(或任何我会命名它)。

Public Property Type As HardwareType 

会产生这一类工作的一个结构?或者,还有更好的方法?

编辑1

Public Class clsItem 

    Public Property PointX As Integer 
    Public Property PointY As Integer 

    Public Property ItemType As Integer 


    Sub New(X As Integer, Y As Integer, Type As Integer) 
     PointX = X 
     PointY = Y 
     ItemType = Type 
    End Sub 

End Class 

我想这样做,因为这只有一个是一个相当简单的类以上可能是一种方式。

但我想在Sub NewType过去了,事情就像

Type.Computer 
Type.Printer 
Type.Switch 
Type.Router 

因此,一个整数可能不是什么其实我想要的。我需要创建Type.[something]并为每个值设置一个值,以便我可以在我的程序中遍历Type,以便实例化该类。

+0

公平的问题,但是最好为假设的课程提供一些代码,以及如何使用而不是叙述。 – Plutonix

+0

看到我上面的编辑 – Bill

+1

将'ItemType'定义为一个枚举,例如Steven Doggart建议并将其传递给ctor – Plutonix

回答

2

你在找什么叫做构造函数。构造函数就像每次创建类的对象时总是调用的方法。如果构造函数具有参数,则在创建对象时必须将参数传递给这些参数(例如,New Item(50, 75, HardwareType.Computer))在类的构造函数的名称总是New

Public Class Item 
    Public Sub New(x As Integer, y As Integer, t As HardwareType) 
     Me.X = x 
     Me.Y = y 
     Me.Type = t 
    End Sub 

    Public Property X As Integer 
    Public Property Y As Integer 
    Public Property [Type] As HardwareType 
End Class 

要为参数提供一个定义的常量选项的列表中,你需要将其申报为Enum

Public Enum HardwareType 
    Computer 
    Printer 
    Switch 
    Router 
End Enum 
相关问题