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.2 Klasse, Eigenschaft, Methode, Objekt  Zur nächsten ÜberschriftZur vorigen Überschrift

Methoden

In einer Klassendefinition werden die Eigenschaften und Methoden gleichartiger Objekte festgelegt. Die Eigenschaften kennzeichnen das Objekt. Den Methoden entsprechen Prozeduren und Funktionen, die auf eine bestimmte Klasse bezogen sind.

Diese Begriffe sollen anhand eines kleinen Programms gemeinsam eingeführt werden. Es wird eine Klasse für Fahrzeuge definiert. Die Fahrzeuge haben eine Bezeichnung und eine Geschwindigkeit, man kann sie beschleunigen und man kann ihre Eigenschaften auf dem Bildschirm ausgeben.

Eigene Datei

Zunächst wird eine Windows-Anwendung wie gewohnt erzeugt. Anschließend wird eine eigene Datei für die Definition der Klasse genutzt. Dies erleichtert die Übersicht und die spätere Wiederverwendbarkeit der Klasse.

Klassendefinition

Über den Menüpunkt ProjektKlasse hinzufügen gelangt man zu einem Dialogfeld mit Vorlagen. Hier wählt man die bereits voreingestellte Vorlage Klasse. Diese beinhaltet eine leere Klassendefinition. Im Feld Name sollte man den Namen der zu erzeugenden Klasse (hier: Fahrzeug) eintragen. Die Datei erhält dadurch den Namen Fahrzeug.vb und die neue, leere Klasse in der Datei den Namen Fahrzeug.

Class

Es erscheint ein Codefenster mit einem leeren Klassenrahmen, zwischen Public Class Fahrzeug und End Class. Die Klasse Fahrzeug soll nun wie folgt aussehen:

Public Class Fahrzeug 
   Dim geschwindigkeit As Integer 
 
   Function ausgabe() As String 
      ausgabe = "Geschwindigkeit: " & geschwindigkeit 
   End Function 
 
   Sub beschleunigen(ByVal wert As Integer) 
      geschwindigkeit += wert 
   End Sub 
End Class

Zur Erläuterung:

  • Die Klassendefinition steht in der Datei Fahrzeug.vb.
  • Eine Klasse ist automatisch Public, damit sie vom eigentlichen Programm, in dem mit Objekten dieser Klasse gearbeitet wird, erreicht werden kann.
  • Ein Fahrzeug hat die Eigenschaft geschwindigkeit, hier vom Datentyp Integer.

    Datenkapselung

  • Eigenschaften sind in einer Klasse zunächst einmal gekapselt. Das bedeutet, dass sie von einem Programm außerhalb der Klasse aus nicht direkt erreichbar sind. Dies ist eines der wichtigen Konzepte der objektorientierten Programmierung: Eigenschaften sollen nur über definierte Zugänge erreichbar bzw. veränderbar sein.
  • Die Deklaration Public geschwindigkeit As Integer würde diesem Prinzip der Datenkapselung widersprechen.
  • Die Funktion ausgabe() dient zur kommentierten Ausgabe des Werts der Eigenschaft geschwindigkeit. Daher wird ihrem Namen eine Zeichenkette zugewiesen, die unter anderem den Wert der Eigenschaft beinhaltet.

    Öffentliche Methoden

  • Funktionen und Prozeduren einer Klasse sind zunächst einmal öffentlich (Public), d. h. sie sind von einem Programm, das außerhalb der Klasse steht, erreichbar. Soll es klasseninterne Funktionen oder Prozeduren geben, die nur von anderen Funktionen oder Prozeduren innerhalb der Klasse erreichbar sind, so kann man sie mit dem Schlüsselwort Private aber ebenso kapseln wie Eigenschaften.
  • Die Prozedur beschleunigen() soll dazu dienen, den Wert der Eigenschaft geschwindigkeit zu verändern. Beim Aufruf wird der Prozedur ein (positiver oder negativer) Wert übergeben, der zu dem bisherigen Wert der Eigenschaft geschwindigkeit hinzuaddiert wird.

Damit steht eine Klasse zur Benutzung bereit. In der Ereignisprozedur des Programms p0501 wird nun ein Objekt dieser Klasse erzeugt. Seine Eigenschaft wird ausgegeben, verändert und wieder ausgegeben:

Public Class frm0501 
   Private Sub cmdAnzeigen1_Click( ... ) Handles ... 
      Dim vespa As New Fahrzeug 
      lblAnzeige.Text = vespa.ausgabe() 
      vespa.beschleunigen(20) 
      lblAnzeige.Text &= vbCrLf & vespa.ausgabe() 
      ' lblAnzeige.Text = vespa.geschwindigkeit 
   End Sub 
End Class

Abbildung 5.1  Objekt erzeugen, verändern, ausgeben

Zur Erläuterung:

    New

  • Die Anweisung Dim vespa As New Fahrzeug erzeugt ein Objekt der Klasse Fahrzeug, das über den Namen vespa erreicht werden kann.

    Instanzierung

  • Dieses Objekt verfügt über die Eigenschaften und Methoden, die in der Klassendefinition festgelegt wurden. Man spricht auch von einer Instanz der Klasse Fahrzeug bzw. vom Instanzieren dieser Klasse.
  • Mit der Anweisung lblAnzeige.Text = vespa.ausgabe() wird die Methode ausgabe() für das Objekt vespa aufgerufen. Diese Methode liefert gemäß Definition den Wert der Geschwindigkeit. Dieser Wert wird dem Label zugewiesen.
  • Die Anweisung vespa.beschleunigen(20) ruft die Methode ausgabe() für das Objekt vespa auf. In dieser Methode wird die Eigenschaft geschwindigkeit um den übergebenen Wert erhöht.
  • Anschließend folgt wieder die Ausgabe. Man sieht, wie das Objekt sich verändert hat.
  • In der letzten Zeile steht (auskommentiert) eine Anweisung, die nicht durchgeführt werden kann. Das Objekt vespa hat zwar eine Eigenschaft geschwindigkeit, aber diese ist nicht öffentlich erreichbar. Daher wird ein Fehler gemeldet. Ein Hinweis ist bereits die Tatsache, dass diese Eigenschaft nicht in der IntelliSense-Liste enthalten ist, die sich im Editor nach Eingabe des Punkts hinter vespa öffnet.

Galileo Computing - Zum Seitenanfang

5.2.1 Objektverweis und Instanz  topZur vorigen Überschrift

Mit der Anweisung Dim vespa As New Fahrzeug wurde in der oben genannten Ereignisprozedur ein Objekt erzeugt und benannt. Dies ist die gängigste Form der Instanzierung eines Objekts und kann so auch beibehalten werden. Streng genommen besteht diese Anweisung allerdings aus zwei einzelnen Anweisungen:

    Objektverweis

  • Es wird ein Objektverweis erzeugt. Dieser ist in der Lage, auf Objekte der Klasse Fahrzeug zu verweisen.
  • Es wird ein Objekt der Klasse Fahrzeug (eine Instanz) erzeugt. Diese Instanz kann über den Objektverweis erreicht werden.

In der folgenden Ereignisprozedur (ebenfalls in p0501) werden die beiden genannten Vorgänge einzeln durchgeführt:

Public Class frm0501 
[ ... ] 
   Private Sub cmdAnzeigen2_Click( ...) Handles ... 
      Dim vespa As Fahrzeug 
      vespa = New Fahrzeug() 
 
      Try 
         vespa.beschleunigen(10) 
      Catch ex As Exception 
         MsgBox(ex.Message) 
      End Try 
   End Sub 
End Class

Zur Erläuterung:

  • Die Anweisung Dim vespa As Fahrzeug erzeugt den Objektverweis.
  • Die Anweisung vespa = New Fahrzeug() erzeugt das Objekt und weist es dem Objektverweis zu. Wird diese Anweisung weggelassen oder auskommentiert, so erscheint aufgrund der auftretenden Ausnahme die folgende Fehlermeldung:

    Abbildung 5.2  Objektverweis ohne Objekt

  • Diese Situation gilt es natürlich zu vermeiden. In den meisten Fällen ist es möglich und auch sinnvoll, die Objekterzeugung wie in der ersten Ereignisprozedur vorzunehmen.


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