Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Klassen, Methoden, Instanzen

Empfohlene Antworten

Veröffentlicht

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.

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

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.

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.

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

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?

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.