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.13 Schnittstellen  topZur vorigen Überschrift

Interface

Im Zusammenhang mit der Vererbung gibt es bei Visual Basic (und bei vielen anderen objektorientierten Programmiersprachen) das Konzept der Schnittstellen (Interface). Eine Schnittstelle sieht aus wie eine Klasse, enthält aber nur Definitionen, keinen Programmcode. Von einer Schnittstelle können keine Objekte erzeugt werden.

Implementation

Schnittstellen werden erst »zum Leben erweckt«, wenn sie von einer Klasse verwendet bzw. »implementiert« werden. Die Klasse ist dabei verpflichtet, alle Elemente der Schnittstelle zu implementieren.

Durch eine Schnittstelle wird die Verwandtschaft zwischen Klassen ermöglicht. Dies ist, wie im vorherigen Abschnitt über Polymorphie zu sehen war, eine Voraussetzung für polymorphes Verhalten.

In einer Klasse können mehrere Schnittstellen implementiert werden. Dadurch ergibt sich eine Verwandtschaft dieser Klasse mit mehreren anderen Klassen. Es hat sich im Laufe der Entwicklung der objektorientierten Programmierung erwiesen, dass dieses Vorgehen günstiger ist als die sogenannte Mehrfachvererbung.

Hinweis: Bei Visual Basic gibt es keine Mehrfachvererbung. Bei der Mehrfachvererbung erbt eine Klasse Eigenschaften und Methoden mehrerer Basisklassen, das Verfahren hat allerdings verschiedene Nachteile.

Der Visual Basic Editor unterstützt die Implementation einer Schnittstelle, indem er das Codegerüst für die Elemente der implementierten Schnittstellen sofort automatisch in die Klasse einfügt, nachdem die Implementation begonnen wurde.

Beim nachfolgenden Beispiel werden nur die elementaren Bestandteile für die Implementierung von Schnittstellen vorgeführt. Die sich hierbei ergebende Klasse ist nur bedingt sinnvoll einsetzbar, hält das Beispiel aber überschaubar.

Es folgen zwei Schnittstellendefinitionen, jede in einer eigenen Klassendatei, wie bisher die eingesetzten Klassen. Zunächst die Schnittstelle Fahrzeug:

Public Interface Fahrzeug 
   Function einsteigen() As String 
   Function reifenwechseln() As String 
End Interface

Es folgt die Schnittstelle Schiff:

Public Interface Schiff 
   Function schwimmen() As String 
   Function anlegen() As String 
End Interface

Zur Erläuterung:

  • Analog zu einer Klasse steht eine Schnittstelle zwischen Interface und End Interface.
  • Beiden Klassen werden typische Fähigkeiten verliehen: In ein Fahrzeug kann man einsteigen und man kann die Reifen des Fahrzeugs wechseln; ein Schiff kann schwimmen und am Ufer anlegen.
  • Der genaue Ablauf dieser Vorgänge wird hier nicht (durch Programmcode) festgelegt. Dies geschieht erst bei der Implementation in einer Klasse.

Die Klasse AmphiCar implementiert diese beiden Schnittstellen:

Public Class AmphiCar 
      Implements Fahrzeug, Schiff 
   Public Function reifenwechseln() _ 
         As String Implements _ 
         Fahrzeug.reifenwechseln 
      reifenwechseln = "wechselt alle vier Reifen" 
   End Function 
 
   Public Function einsteigen() _ 
         As String Implements Fahrzeug.einsteigen 
      einsteigen = "bekommt Fahrgäste" 
   End Function 
 
   Public Function anlegen() _ 
         As String Implements Schiff.anlegen 
      anlegen = "legt am Ufer an" 
   End Function 
 
   Public Function schwimmen() _ 
         As String Implements Schiff.schwimmen 
      schwimmen = "fährt auf dem Wasser" 
   End Function 
End Class

Zur Erläuterung:

    Implements

  • Das Schlüsselwort Implements leitet die Implementation ein.
  • Es erscheinen die vier Methoden, die zu implementieren sind. Bei jeder dieser Methoden wird mit dem Schlüsselwort Implements notiert, welche Methode aus welcher Schnittstelle hier implementiert wird.
  • Alle vier Methoden liefern in diesem Beispiel nur Text zurück.
  • Die Schnittstellen können jeweils auch von anderen Klassen implementiert werden. Dadurch ergibt sich eine Verwandtschaft der Klasse AmphiCar mit dieser anderen Klasse.

Im Programm wird ein Objekt der Klasse AmphiCar erzeugt. Anschließend werden alle vier Methoden aufgerufen:

Public Class frm0511 
   Private Sub cmdAnzeigen_Click( ... ) Handles ... 
      Dim a As New AmphiCar 
      lblAnzeige.Text = a.einsteigen() 
      lblAnzeige.Text &= vbCrLf & a.schwimmen() 
      lblAnzeige.Text &= vbCrLf & a.anlegen() 
      lblAnzeige.Text &= vbCrLf & a.reifenwechseln() 
   End Sub 
End Class

Abbildung 5.14  Vier implementierte Schnittstellen-Methoden

Zur Erläuterung:

  • Ein Objekt der Klasse AmphiCar »kann« alles, was ein Fahrzeug oder ein Schiff kann (z. B. schwimmen). Wie es diese Tätigkeit genau ausführt, wird erst in der Klasse AmphiCar festgelegt.

ICloneable

Hinweis: Visual Basic stellt bereits eine ganze Reihe von Schnittstellen zur Verfügung. Diese können in eigenen Klassen implementiert werden. Als Beispiel soll das Interface ICloneable dienen: Es unterstützt das Klonen von Objekten einer Klasse, also das vollständige Kopieren eines Objekts in ein anderes Objekt der gleichen Klasse. Jede Klasse, die diese Schnittstelle implementiert, muss die Methode Clone() implementieren und darin genau festlegen, wie der Klon-Vorgang in dieser speziellen Klasse ablaufen soll. Dies trifft z. B. für die bereits behandelte Klasse Array zu (siehe hierzu auch den Abschnitt 4.4, »Datenfelder« ).



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