vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 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

Fortgeschrittene Programmierung
Re: Objekte + Vererbung 
Autor: Dirk
Datum: 19.01.05 14:06

In Visual Basic wird polymorphes Verhalten durch Schnittstellenvererbung realisiert. D.h. du definierst eine Schnittstellenklasse, z.B.:

iAction.cls
  Public Sub DoSomething()
  End Sub
und diese Schnittstelle implementierst du dann in den Klassen, die erben sollen.

Bsp.:
cActionNormal.cls
  Implements iAction
 
  Private Sub iAction_DoSomething()
    '... do something normal
  End Sub
cActionStrange.cls
  Implements iAction
 
  Private Sub iAction_DoSomething()
    '... do something strange
  End Sub
Verwendung z.B: in Form:

Private Sub cmdActionNormal_Click()
  Dim Action as cActionNormal     '!!!
  Set Action = New cActionNormal
  DoAction Action                               'Gleicher Aufruf wie unten
  Set Action = Nothing
End Sub
 
Private Sub cmdActionStrange_Click()
  Dim Action as cActionStrange     '!!!
  Set Action = New cActionStrange
  DoAction Action                               'Gleicher Aufruf wie oben
  Set Action = Nothing
End Sub
 
Private Sub DoAction(ByRef rAction As iAction) '!!! hier ist es iAction
  rAction.DoSomething                    '!!! Nur ein Aufruf
End Sub
Ok, das ist jetzt etwas an den Haaren herbeiprogrammiert, aber realistische Anwendung:
Du hast verschiedene Klassen die über Methoden verfügen um sich selbst zu zeichnen.
cKreis, cDreieck, cHundehaufen .... Sie alle implementieren z.B. die Schnittstelle iMalen mit der Sub Malen. Du legst viele, viele verschiedene Objekte an und speicherst sie in einer Collection. Nun musst du sie alle neu zeichnen (waren verdeckt z.B.). Dann läufst du durch die Collection:

    Dim objGrafik As iMalen
 
    For Each objGrafik In colGrafikObjekte
      objGrafik.Malen
    Next
Sch**ßegal ob Kreis, Dreieck oder Hundehaufen, sie malen sich alle .

So, erstmal genug geschrieben, jetzt heißt es ausprobieren.

Gruß
Dirk

--
?Get it right the first time

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Objekte + Vererbung741WMcPIMP18.01.05 20:28
Re: Objekte + Vererbung442Kenjiro18.01.05 21:45
Re: Objekte + Vererbung431WMcPIMP18.01.05 23:10
Re: Objekte + Vererbung457Dirk19.01.05 14:06
Re: Objekte + Vererbung404Dirk19.01.05 14:30
Re: Objekte + Vererbung403WMcPIMP19.01.05 15:45
Re: Objekte + Vererbung457Dirk19.01.05 16:17
Re: Objekte + Vererbung420WMcPIMP19.01.05 16:20
Re: Objekte + Vererbung438Dirk20.01.05 09:14

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