Bobafat Geschrieben 22. März 2004 Geschrieben 22. März 2004 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. Zitieren
Gast Geschrieben 23. März 2004 Geschrieben 23. März 2004 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 Zitieren
Bobafat Geschrieben 23. März 2004 Autor Geschrieben 23. März 2004 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?? Zitieren
Bobafat Geschrieben 23. März 2004 Autor Geschrieben 23. März 2004 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. Zitieren
Gast Geschrieben 23. März 2004 Geschrieben 23. März 2004 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. Zitieren
Diablo999 Geschrieben 23. März 2004 Geschrieben 23. März 2004 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 Zitieren
just_me Geschrieben 23. März 2004 Geschrieben 23. März 2004 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? Zitieren
Bobafat Geschrieben 24. März 2004 Autor Geschrieben 24. März 2004 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 --> nicht anders herum <-- Zitieren
Empfohlene Beiträge
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.