vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Untereigenschaften als Subklasse in Klasse anlegen und befüllen 
Autor: Manfred X
Datum: 31.12.14 08:46

Hallo!

Immer baukastenmäßig bzw. verschachtelt denken ....
Der "Ort" der Deklaration einer Klasse bzw. einer Klassen-Instanz
im Code gibt den Geltungsbereich-Bereich der Deklaration an.

Beachte die Umbenennungen: Die Listen im Plural - die Elemente im Singular

Im Beispiel besitzen die Klassen "Pumpe" und "Dichtung" den gleichen
Geltungsbereich, aber auf eine Instanz der Liste "Dichtungen" kann nur
über eine Instanz von "Pumpe" zugegriffen werden.

Ich würde Dichtungen eher "privatisieren", in Klasse "Pumpe" kapseln und
über "Pumpe"-Properties auf die Listenelemente von "Dichtungen" zugreifen.

Die Wahl des Vorgehens ist davon abhängig, ob die Klasse "Dichtung" immer
ein Bestandteil von "Pumpe" ist (= Dichtung als Unterklasse in Pumpe deklarieren),
oder ob Instanzen von "Dichtung" auch in anderen Klassen vorkommen bzw.
ob "Dichtung" unabhängig von anderen Klasse verwendbar sein soll.


    Public Class Dichtung
 
        Private m_Werkstoff As String
 
        Public Property Werkstoff() As String
            Get
                Return m_Werkstoff
            End Get
            Set(ByVal value As String)
                m_Werkstoff = value
            End Set
        End Property
 
        Private m_Preis As Single
        Public Property Preis() As Single
            Get
                Return m_Preis
            End Get
            Set(ByVal value As Single)
                m_Preis = value
            End Set
        End Property
 
    End Class
 
    Public Class Pumpe
 
        'Pumpenvariablen
        Private m_Typ As String
        Private m_gesperrt As Boolean
 
        'Hier die Liste der Dichtungen schachteln
        'Diese Instanz von Dichtungen wird zusammen mit der 
        'Pumpe-Instanzh erstellt (New)
        Public Dichtungen As New List(Of Dichtung)
 
        Public Sub New(ByVal Typ As String, ByVal gesperrt As Boolean)
 
            Me.m_Typ = Typ
            Me.m_gesperrt = gesperrt
 
        End Sub
 
        Public Property Typ() As String
            Get
                Return m_Typ
            End Get
            Set(ByVal value As String)
                m_Typ = value
            End Set
        End Property
 
 
        Public Property gesperrt() As Boolean
            Get
                Return m_gesperrt
            End Get
            Set(ByVal value As Boolean)
                m_gesperrt = value
            End Set
        End Property
 
    End Class
Anwendung:
Dim pumpen As New List(Of Pumpe)
 
'Verwendung des Konstruktors der Klasse "Pumpe"
pumpen.Add(New Pumpe("knatter", False))
 
'Zuweisung von Eigenschaften bei der Erstellung einer Instanz "Dichtung"
pumpen(0).Dichtungen.Add(New Dichtung With {.Preis = 12345.75, .Werkstoff = _
  "Stahl"})
 
'Abfrage einer Dichtung-Eigenschaft 
Dim ws As String = pumpen(0).Dichtungen(0).Werkstoff
 
'Zuweisung
pumpen(0).Dichtungen(0).Werkstoff = "Plaste & Elaste"


Beitrag wurde zuletzt am 31.12.14 um 09:11:55 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Untereigenschaften als Subklasse in Klasse anlegen und befül...1.537vb.net anfänger30.12.14 22:15
Re: Untereigenschaften als Subklasse in Klasse anlegen und b...1.185Manfred X31.12.14 08:46
Re: Untereigenschaften als Subklasse in Klasse anlegen und b...903vb.net anfänger31.12.14 12:23
Re: Untereigenschaften als Subklasse in Klasse anlegen und b...891Manfred X31.12.14 13:42

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel