teledexterus Ответов: 1

Как объединить три класса в один суперкласс


Я хочу взять все три этих класса и объединить их в один суперкласс под названием planetdata.

ClassPlanet.ВБ
Public Class planetdata
??
End Class


Класс.ВБ
Public Class planetclass
    Public Property p1() As Double
        Get
            Return p1
        End Get
        Set(value As Double)
            p1 = value
        End Set
    End Property
    Private p1 As Double
    Public Property p2() As Double
        Get
            Return p2
        End Get
        Set(value As Double)
            p2 = value
        End Set
    End Property
    Private p2 As Double
    Public Property p3() As Double
        Get
            Return p3
        End Get
        Set(value As Double)
            p3 = value
        End Set
    End Property
    Private p3 As Double
End Class


Умолчанию.aspx-файл.ВБ
Dim ca1 As New planetclass()
        ca1.p1 = Convert.ToDouble(a(1))
        ca1.p2 = Convert.ToDouble(a(2))
        ca1.p3 = Convert.ToDouble(a(3))
        Dim ca2 As New planetclass()
        ca2.p1 = Convert.ToDouble(b(1))
        ca2.p2 = Convert.ToDouble(b(2))
        ca2.p3 = Convert.ToDouble(b(3))
        Dim ca3 As New planetclass()
        ca3.p1 = Convert.ToDouble(c(1))
        ca3.p2 = Convert.ToDouble(c(2))
        ca3.p3 = Convert.ToDouble(c(3))

        Dim da As New planetdata()
        cp.ca1=Convert.ToDouble(ca1())???
        cp.ca2=Convert.ToDouble(ca2())???
        cp.ca3=Convert.ToDouble(ca3())???
??


Что я уже пробовал:

Я пытался объединить все в один большой класс. Я думаю, что есть более простой способ.

CHill60

Похоже, вы пытаетесь создать коллекцию planetclass, например, Dim da as New List (of planetclass)

teledexterus

Я пытаюсь объединить три данных " planetclass "в один класс" planetdata".

CHill60

список - это класс. Что произойдет, если вы захотите сохранить данные для четвертой планеты в своем классе planetData? Пусть ваш класс planetData имеет одно внутреннее свойство ... который является списком (класса Planet)!

teledexterus

Я не знаю, как составить список массивов.

1 Ответов

Рейтинг:
6

CHill60

Будьте осторожны с терминологией. Строго говоря, у вас есть только один класс, но у вас есть три объекта или экземпляра этого класса.

Попробуйте что-нибудь вроде этого:

public Class PlanetData
    Private _planets As New List(Of planetclass)

    Public Property Planets As List(Of planetclass)
        Get
            Return _planets
        End Get
        Set(value As List(Of planetclass))
            _planets = value
        End Set
    End Property

    Public Sub Add(p1 As Double, p2 As Double, p3 As Double)
        Dim p = New planetclass
        p.p1 = p1
        p.p2 = p2
        p.p3 = p3
        _planets.Add(p)
    End Sub

    Public Sub Add(p As planetclass)
        _planets.Add(p)
    End Sub

End Class

И тогда вы можете делать такие вещи, как это:
Dim da As New planetData()

da.Add(Convert.ToDouble(a(1)), Convert.ToDouble(a(2)), Convert.ToDouble(a(3)))
da.Add(Convert.ToDouble(b(1)), Convert.ToDouble(b(2)), Convert.ToDouble(b(3)))
Dim ca3 As New planetclass()
ca3.p1 = Convert.ToDouble(c(1))
ca3.p2 = Convert.ToDouble(c(2))
ca3.p3 = Convert.ToDouble(c(3))
da.Add(ca3)
Кстати я бы не стал использовать Convert.ToDouble, лучше использовать Double.TryParse()


Maciej Los

5ед!