Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
1 Einführung
2 Grundlagen
3 Fehlerbehandlung
4 Erweiterte Grundlagen
5 Objektorientierte Programmierung
6 Wichtige Klassen in .NET
7 Weitere Elemente eines Windows-Programms
8 Datenbank-Anwendungen mit ADO.NET
9 Internet-Anwendungen mit ASP.NET
10 Zeichnen mit GDI+
11 Beispielprojekte
A Installation und technische Hinweise
B Lösungen der Übungsaufgaben
Stichwort

Download:
- ZIP, ca. 7,8 MB
Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Einstieg in Visual Basic 2010 von Thomas Theis
Inkl. Visual Studio Express Editions
Buch: Einstieg in Visual Basic 2010

Einstieg in Visual Basic 2010
2., akt. und erw. Aufl., Klappbroschur, mit DVD
467 S., 24,90 Euro
Galileo Computing
ISBN 978-3-8362-1541-1
Pfeil 5 Objektorientierte Programmierung
Pfeil 5.1 Was ist Objektorientierung?
Pfeil 5.2 Klasse, Eigenschaft, Methode, Objekt
Pfeil 5.2.1 Objektverweis und Instanz
Pfeil 5.3 Eigenschaftsmethode
Pfeil 5.4 Konstruktor
Pfeil 5.5 Referenzen und Werte
Pfeil 5.5.1 Objekte vergleichen
Pfeil 5.6 Statische Elemente
Pfeil 5.7 Vererbung
Pfeil 5.8 Konstruktoren bei Vererbung
Pfeil 5.9 Polymorphie
Pfeil 5.10 Schnittstellen
Pfeil 5.10.1 Vorhandene Schnittstellen


Galileo Computing - Zum Seitenanfang

5.9 Polymorphie topZur vorigen Überschrift

Vielgestaltigkeit

Polymorphie bedeutet Vielgestaltigkeit. Innerhalb der objektorientierten Programmierung bedeutet dieser Begriff, dass ein Objektverweis auf Objekte unterschiedlicher Art verweisen kann. Er ist anschließend in der Lage, den Abruf der jeweils zugehörigen Objektelemente zu unterstützen. Dies vergrößert die Flexibilität bei der Programmierung mit Objekten verwandter Klassen.

Feld von Objektverweisen

Im nachfolgenden Beispiel im Projekt Polymorphie werden Objekte zweier Klassen erzeugt. Eine der Klassen ist aus der anderen Klasse abgeleitet. Die Objekte werden anschließend über ein Feld von Verweisen auf Objekte der Basisklasse gemeinsam erreichbar gemacht. Innerhalb einer Schleife werden alle Objekte ausgegeben.

Zunächst die Basisklasse:

Public Class Fahrzeug
    Dim bezeichnung As String
    Dim geschwindigkeit As Integer

    Sub New()
        bezeichnung = "(leer)"
        geschwindigkeit = 0
    End Sub

    Sub New(ByVal b As String, ByVal g As Integer)
        bezeichnung = b
        geschwindigkeit = g
    End Sub

    Overridable Function ausgabe() As String
        ausgabe = vbCrLf &
            "Bezeichnung: " & bezeichnung & vbCrLf &
            "Geschwindigkeit: " & geschwindigkeit &
            vbCrLf
    End Function
End Class

Listing 5.20 Projekt »Polymorphie«, Basisklasse »Fahrzeug«

Zur Erläuterung:

  • Die Klasse hat zwei Konstruktoren.

Overridable

  • Die Ausgabe-Methode wird mit Overridable als überschreibbar gekennzeichnet. Das bedeutet, dass sie in einer abgeleiteten Klasse überschrieben werden darf. Dies ist eine wichtige Voraussetzung für das polymorphe Verhalten.

Die abgeleitete Klasse:

Public Class PKW
    Inherits Fahrzeug

    Dim insassen As Integer

    Sub New()
        insassen = 0
    End Sub

    Sub New(ByVal b As String,
            ByVal g As Integer,
            ByVal i As Integer)
        MyBase.New(b, g)
        insassen = i
    End Sub

    Overrides Function ausgabe() As String
        ausgabe = MyBase.ausgabe() &
            "Insassen: " & insassen & vbCrLf
    End Function
End Class

Listing 5.21 Projekt »Polymorphie«, abgeleitete Klasse »PKW«

Zur Erläuterung:

  • Die Klasse hat ebenfalls zwei Konstruktoren.

Overrides

  • Die Ausgabe-Funktion wird mit Overrides als überschreibend gekennzeichnet. Das bedeutet, dass sie die gleichnamige Methode der Basisklasse überschreibt. Dies ist nur gestattet, wenn die betreffende Funktion der Basisklasse als Overridable gekennzeichnet ist.

Das Programm:

Public Class Form1
    Private Sub cmdAnzeigen_Click(...) Handles ...
        Dim vespa As New Fahrzeug("Roller", 35)
        Dim schwalbe As New Fahrzeug("Moped", 45)
        Dim fiat As New PKW("Limousine", 90, 4)
        Dim porsche As New PKW("Sportwagen", 130, 1)

        Dim sammlung(4) As Fahrzeug
        Dim i As Integer
        sammlung(0) = vespa
        sammlung(1) = schwalbe
        sammlung(2) = fiat
        sammlung(3) = porsche
        sammlung(4) = New Fahrzeug

        For i = 0 To 4
            lblAnzeige.Text &= sammlung(i).ausgabe()
        Next
    End Sub
End Class

Listing 5.22 Projekt »Polymorphie«, Nutzung der Klassen

Zur Erläuterung:

  • Es werden jeweils zwei Objekte der beiden Klassen erzeugt und mit allen Eigenschaften initialisiert.
  • Zusätzlich wird ein Feld von fünf Verweisen auf Objekte der Basisklasse deklariert. Diese Verweise haben noch kein Verweisziel, d. h. sie zeigen noch auf kein Objekt.
  • Nacheinander werden die vier vorhandenen Objekte den vier ersten Verweisen zugewiesen. Dem fünften Verweis wird ein neues, leeres Objekt der Basisklasse zugewiesen.
  • Bei der Ausgabe aller Feldelemente (siehe Abbildung 5.10) mithilfe einer Schleife wird jeweils die Methode ausgabe() aufgerufen. Zu den Verweisen wird jeweils die passende Methode des Objekts, auf das verwiesen wird, gefunden.

Abbildung 5.10 Fünf Verweise in einem Feld



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






<< zurück
  Zum Katalog
Zum Katalog: Einstieg in Visual Basic 2010

Einstieg in Visual Basic 2010
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Visual Basic 2010






 Visual Basic 2010


Zum Katalog: Windows Presentation Foundation






 Windows Presentation
 Foundation


Zum Katalog: Silverlight 4






 Silverlight 4


Zum Katalog: Einstieg in Visual C# 2010






 Einstieg in
 Visual C# 2010


Zum Katalog: Visual C# 2010






 Visual C# 2010


Zum Katalog: Einstieg in PHP 5.3 und MySQL 5.4






 Einstieg in PHP 5.3
 und MySQL 5.4


Zum Katalog: PHP 5.3 und MySQL 5.4






 PHP 5.3 und
 MySQL 5.4


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2010
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de