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 Neues in Visual Basic 2008
12 Beispielprojekte
A Installation
B Lösungen der Übungsaufgaben
Stichwort

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

Spacer
 <<   zurück
Einstieg in Visual Basic 2008 von Thomas Theis
Inkl. zahlreicher Beispiele und Uebungen
Buch: Einstieg in Visual Basic 2008

Einstieg in Visual Basic 2008
geb., mit DVD
442 S., 24,90 Euro
Galileo Computing
ISBN 978-3-8362-1192-5
Online bestellenJetzt online bestellen
* versandkostenfrei in (D) und (A)
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 Delegates
  Pfeil 5.8 Ereignisse
  Pfeil 5.9 Namespaces
  Pfeil 5.10 Vererbung
  Pfeil 5.11 Konstruktoren bei Vererbung
  Pfeil 5.12 Polymorphie
  Pfeil 5.13 Schnittstellen


Galileo Computing - Zum Seitenanfang

5.12 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 werden Objekte zweier Klassen erzeugt. Eine der Klassen ist aus der anderen Klasse abgeleitet. Die Objekte werden anschließend über ein Feld von Elementen 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 = "Bezeichnung: " & bezeichnung _ 
         & vbCrLf & "Geschwindigkeit: " _ 
         & geschwindigkeit & vbCrLf 
   End Function 
End Class

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() 
      MyBase.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

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 frm0510 
   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(3) As Fahrzeug 
      Dim i As Integer 
      sammlung(0) = vespa 
      sammlung(1) = schwalbe 
      sammlung(2) = fiat 
      sammlung(3) = porsche 
 
      For i = 0 To 3 
         lblAnzeige.Text &= sammlung(i).ausgabe() 
      Next 
   End Sub 
End Class

Abbildung 5.13  Vier Objekte in einem Feld

Zur Erläuterung:

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


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 2008






Einstieg in Visual Basic 2008
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Visual Basic 2008






 Visual Basic 2008


Zum Katalog: Einstieg in Visual C++ 2008






 Einstieg in
 Visual C++ 2008


Zum Katalog: Einstieg in Visual C# 2008






 Einstieg in
 Visual C# 2008


Zum Katalog: Visual C# 2008






 Visual C# 2008


Zum Katalog: Visual C# - Video-Training






 Visual C# -
 Video-Training


Zum Katalog: Einstieg in PHP 5 und MySQL 5






 Einstieg in PHP 5
 und MySQL 5


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo





Copyright © Galileo Press 2008
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