Zum Inhalt springen

Klassen, Methoden, Instanzen


Empfohlene Beiträge

Geschrieben

Hallo,

ich muss mir jetzt mal VB aneignen und suche dazu eine gute Beschreibung wie man mit KLassen und Methoden umgeht. D. H.: Ich brauche mal ein paar Beispiele wie ich Klassen integriere oder Methoden von KLassen aufrufe.

Ich habe nicht die Zeit um mich hinter ein meterdickes Buch zu klemmen.

Jeder der gut und kurz erklären kann ist mir herzlich willkommen.

Ich kann auch Skripte und so gut gebrauchen.

Ich denke mal dass hier aufm Board sicherlich genug Kompetenz herumwandert um es mir beizubringen.

Danke.

Bobafat

Ps.: Ich bin kein Programmieranfänger, porgge schon seit Jahren in RPG(AS/400, Basic und so). Es geht nicht um den Syntax sondern um die theoretische Umsetzung.

Geschrieben

Nur mal ein Beispiel


'Form frmMain

'Ein Button 'btnPersonendatenanzeigen'

'Ein Textfeld 'txtAnzeige'

Option Explicit

Dim persMann As New clsPerson 'Objekt wird schon beim Starten angelegt

Dim persFrau As clsPerson


Private Sub btnPersondatenanzeigen_Click()

    Set persFrau = New clsPerson 'Objekt wird erst zur Laufzeit angelegt

    persMann.setAlter (25)

    persMann.setName ("Meier")

    persMann.setVorname ("Hugo")

    persFrau.setAlter (27)

    persFrau.setName ("Schmidt")

    persFrau.setVorname ("Anna")

    txtAnzeige.Text = txtAnzeige.Text & "Name: " & persMann.getName & vbNewLine

    txtAnzeige.Text = txtAnzeige.Text & "Vorname: " & persMann.getVorname & vbNewLine

    txtAnzeige.Text = txtAnzeige.Text & "Alter: " & CStr(persMann.getAlter) & vbNewLine

    txtAnzeige.Text = txtAnzeige.Text & "Name: " & persFrau.getName & vbNewLine

    txtAnzeige.Text = txtAnzeige.Text & "Vorname: " & persFrau.getVorname & vbNewLine

    txtAnzeige.Text = txtAnzeige.Text & "Alter: " & CStr(persFrau.getAlter) & vbNewLine

End Sub


'Klasse clsPerson

Option Explicit

Private strName As String

Private strVorname As String

Private byteAlter As Byte


'getMethoden

Public Function getName() As String

    getName = strName

End Function


Public Function getVorname() As String

    getVorname = strVorname

End Function


Public Function getAlter() As Byte

    getAlter = byteAlter

End Function

'Ende getMethoden


'setMethoden

Public Sub setName(ByVal strNameExt As String)

    strName = strNameExt

End Sub


Public Sub setVorname(ByVal strVornameExt As String)

    strVorname = strVornameExt

End Sub


Public Sub setAlter(ByVal byteAlterExt As Byte)

    byteAlter = byteAlterExt

End Sub

'Ende setMethoden

Geschrieben

Das heißt,

dass die Methoden die aktive Untermenge der Klasse sind,Oder?

Sind generell die Methoden über die Klasse anzusprechen?

z.B. Klasse.Methode

Was ist das eine Instanz oder Instanziierung von Klassen??

Geschrieben
Original geschrieben von Bobafat

Das heißt,

dass die Methoden die aktive Untermenge der Klasse sind,Oder?

Sind generell die Methoden über die Klasse anzusprechen?

z.B. Klasse.Methode

Was ist das eine Instanz oder Instanziierung von Klassen??

[...]

Was hat das noch mit dem NEW auf sich????

Dim person as xyclas

Variable person wird als xyclas definiert, was soll dann noch das SET??

Danke schon mal.

Ja, kann man so sagen.

Korrekt: Klasse.Methode innerhalb der Klasse selber kann man sie auch nur über Methode ansprechen.

Das sind Instanzern von Klassen.

Bei Dim person as xyclas wird sozusagen nur ein Verweis auf xyclas reserviert.

Bei Dim person as new xyclas, oder auch Set person = new xyclas wird eine neue Instanz des Objektes im Hauptspeicher gebildet.

Geschrieben

Wenn mans genau nimmt, nicht

Klasse.Methode()

sondern

Instanz.Methode()

Eine Klasse kann man sich wie eine Vorlage vorstellen, bzw. wie einen Datentypen, ein Objekt ist dann eine Variable vom Typ "KlasseXY" und wird auch Instanz der Klasse genannt.

Zu dem Set ein kleines Beispiel:


  Dim x as long

  x = 0 ' Der Variablen x wird der Wert 0 zugeordnet


  Dim y as KlasseXY

  Set y = new KlasseXY ' new erzeugt eine neue Instanz der Klasse und wird der Variablen y zugeordnet

  Set y = nothing ' y wird auf leer gesetzt was widerum impliziert das die Instanz der Klasse die in y hinterlegt war gelöscht wird

Du kannst dir eine Variable die als Klasse definiert ist vorstellen wie einen Zeiger auf diese und deshalb muss beim Zugriff eben dieses Set verwendet werden..

Hoffe die erklärung hilft dir!

Gruß

Diablo999

Geschrieben
ich muss mir jetzt mal VB aneignen ... Ich brauche mal ein paar Beispiele wie ich Klassen integriere oder Methoden von KLassen aufrufe.

aber:

Es geht nicht um den Syntax sondern um die theoretische Umsetzung.

Wie jetzt? Brauchst du Definitionen, allgemeine Beschreibungen und Erklärungen, oder spezielle Implementierungsdetails?
Geschrieben

Danke,

ich denke ich hab das jetzt gerafft. Hätte doch in der Schule aufpassen sollen wo dies drankam.

Ihr habt mir super weitergeholfen.

zu just_me:

Ich denke mal dass jeder Vor Dir gerafft hat um was es in meiner Frage ging.

Augen auf :eek: und dann Mund auf :D--> nicht anders herum <--

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...