Rheinwerk Computing < openbook > Rheinwerk 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
12 Windows Presentation Foundation
13 Windows Store-Apps für Windows 8
A Installation und technische Hinweise
B Lösungen der Übungsaufgaben
C Inhalt der Buch-DVD
D Der Autor
Stichwort

Jetzt Buch bestellen
Ihre Meinung?

Spacer
Einstieg in Visual Basic 2012 von Thomas Theis
Ideal für Programmiereinsteiger geeignet
Buch: Einstieg in Visual Basic 2012

Einstieg in Visual Basic 2012
Rheinwerk Computing
579 S., 3., aktualisierte und erweiterte Auflage 2013, brosch., mit DVD
24,90 Euro, ISBN 978-3-8362-1959-4
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, Vergleiche und Typen
Pfeil 5.5.1 Objekte vergleichen
Pfeil 5.5.2 Typ eines Objekts ermitteln
Pfeil 5.5.3 Typ eines Objekts durch Vergleich ermitteln
Pfeil 5.6 Delegates
Pfeil 5.7 Statische Elemente
Pfeil 5.8 Vererbung
Pfeil 5.9 Konstruktoren bei Vererbung
Pfeil 5.10 Polymorphie
Pfeil 5.11 Schnittstellen
Pfeil 5.11.1 Vorhandene Schnittstellen

Rheinwerk Computing - Zum Seitenanfang

5.10 Polymorphie

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.

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(b As String, 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.22 Projekt »Polymorphie«, Basisklasse »Fahrzeug«

Zur Erläuterung:

  • Die Klasse hat zwei Konstruktoren.
  • 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(b As String, g As Integer, 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.23 Projekt »Polymorphie«, abgeleitete Klasse »PKW«

Zur Erläuterung:

  • Die Klasse hat ebenfalls zwei Konstruktoren.
  • 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.24 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.11) 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

Abbildung 5.11 Fünf Verweise in einem Feld



Ihre Meinung

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.

<< zurück
  Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: Einstieg in Visual Basic 2012

Einstieg in Visual Basic 2012
Jetzt Buch bestellen


 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Rheinwerk-Shop: Visual Basic 2012






 Visual Basic 2012


Zum Rheinwerk-Shop: Schrödinger programmiert C++






 Schrödinger
 programmiert C++


Zum Rheinwerk-Shop: IT-Handbuch für Fachinformatiker






 IT-Handbuch für
 Fachinformatiker


Zum Rheinwerk-Shop: Java ist auch eine Insel






 Java ist auch
 eine Insel


Zum Rheinwerk-Shop: Einstieg in Python






 Einstieg in Python


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo





Copyright © Rheinwerk Verlag GmbH 2013
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.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern