vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

VB.NET - Fortgeschrittene
Re: Verständnisfragen OOP 
Autor: spike24
Datum: 07.10.04 09:01

1.
grundsätzlich Du musst Dir eine klasse als eigenständiges ding vorstellen, diese sind grundsätzlich überall erreichbar und behalten sich immer die werte, vorausgesetzt ich verlasse den gültigkeits bereich nicht
es gibt zwei unterschiedliche klassen arten:
instanzierbare (New)
statische (Shared)

aufbau der ersten
Public Class ClassNew
    Private m_Var as string
    Public PRoperty Var as string
        ...
    End Property
    Public Sub NEw()
        m_Var = ""
    end Sub
end Class
aufbau der zweiten
Public Class ClassShared
    Private Shared m_Var as string
    Public Shared PRoperty Var as string
        ...
    End Property
end Class
aufruf der ersten
Dim cls as New ClassNew
cls.Var = "text"
aufruf der zweiten
ClassShared.Var = "Text"
unterschied
ClassNew (cls) ist nur dort erreichbar und gültig wo diese dimensionert wird
z.b. in einer anderen klasse (formular), wird diese klasse zerstört (formular geschlossen) wird auch cls und die darin enthaltenen infos zerstört

ClassShared braucht nicht dimensioniert werden
ist überall aufrufbar und erreichbar, aber da kann unter umständen der hund drin stecken, da die werte von überall aus im programm verändert werden können

anwendung
ClassNew verwende ich bei formularen (klar) und bei infos die ich nur in einer klasse brauche

ClassNew verwende ich bei globalen werten, z.b. welcher benutzer ist angemeldet
ich bekomme von überall alle infos zur pers

es gibt auch eine möglichkeit, wo beide vermischt werden
MDI anwendung, z.b. word ähnliches programm
Public Class Fenster
    Inherits System.Windows.Forms
    Public Shared Counter as integer
    Public Sub NEw()
        Counter += 1
        MyBase.New
    End Sub
End Class
Aufruf
Dim frm as new Fester
MessageBox.Show("das war das " & frm.Counter.TosTring() & ". fenster")
2.
eine sub tut nur
eine funktion hat einen rückgabe wert

Public Sub FillTextBox(Value as string)
    Text1.Text = Value
End Sub
Public Function Berechne(x as integer, y as integer) As integer
    return x +y
end Function
für den fall, wo ich mehr rückgabe werte benötige

Public Sub Berechne(x as integer, y as integer, ByRef Summe as integer, _
  ByRef Produkt as integer)
    Summe = x + y
    Produkt = x * y
End Sub
0
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Verständnisfragen OOP1.313Fighter07.10.04 00:45
Re: Verständnisfragen OOP1.117spike2407.10.04 09:01
Re: Verständnisfragen OOP881Fighter07.10.04 10:18
Re: Verständnisfragen OOP904Fighter17.10.04 11:40
Re: Verständnisfragen OOP855Micke17.10.04 13:18
Re: Verständnisfragen OOP916Fighter17.10.04 18:18
Re: Verständnisfragen OOP973Moderatorralf_oop17.10.04 19:24
Mal anders erklärt927teccer07.10.04 10:39
Re: Mal anders erklärt906Micke07.10.04 13:40
hätte doch jacken und hosen nehmen sollen ;) - ohne Text865teccer07.10.04 13:47
Aber zum Verstehen hat´s gereicht, Danke! - ohne Text837Fighter07.10.04 14:34
Re: hätte doch jacken und hosen nehmen sollen ;) - ohne Text837Micke07.10.04 15:27
ich nehme autos oT857spike2407.10.04 15:35
Re: ich nehme autos oT843Micke07.10.04 15:38
Re: ich nehme autos oT1.052spike2407.10.04 15:58
oder wie wäre es mit dem Objektmodell "Frauenhandtasche...894teccer07.10.04 15:52

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-2025 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