2015-07-20 101 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 
相關問題