Java/Einstieg in die OOP: Unterschied zwischen den Versionen
K (Links korrigiert) Markierung: 2017-Quelltext-Bearbeitung |
K (Verlinkung aufs Glossar) Markierung: 2017-Quelltext-Bearbeitung |
||
Zeile 14: | Zeile 14: | ||
{{Übung| | {{Übung| | ||
[[Datei:BlueJ shapes0.png|alternativtext=Benutzerschnittstelle (GUI Graphical User Interface)|mini|Benutzerschnittstelle (GUI Graphical User Interface)]] | [[Datei:BlueJ shapes0.png|alternativtext=Benutzerschnittstelle (GUI Graphical User Interface)|mini|Benutzerschnittstelle (GUI Graphical User Interface)]] | ||
Starten Sie BlueJ und laden Sie das Beispielprojekt "Shapes". Sie finden es im Installationsordner von BlueJ unter <code>c:\bluej\examples\shapes</code> (Windows) bzw. <code>/usr/share/doc/BlueJ/shapes</code> (Linux). In dem weißen Hauptbereich kann man vier '''[[ | Starten Sie BlueJ und laden Sie das Beispielprojekt "Shapes". Sie finden es im Installationsordner von BlueJ unter <code>c:\bluej\examples\shapes</code> (Windows) bzw. <code>/usr/share/doc/BlueJ/shapes</code> (Linux). In dem weißen Hauptbereich kann man vier '''[[Java/Glossar#Klasse|Klassen]]''' erkennen: Leinwand (Canvas), Kreis (Circle), Quadrat (Square) und Dreieck (Triangle). | ||
* Die Spracheinstellung der Benutzeroberfläche können Sie im Menü unter Werkzeuge (Tools) > Einstellungen (Preferences) > Benutzeroberfläche (Interface) verändern. | * Die Spracheinstellung der Benutzeroberfläche können Sie im Menü unter Werkzeuge (Tools) > Einstellungen (Preferences) > Benutzeroberfläche (Interface) verändern. | ||
* In der linken Spalte wählen Sie den Befehl '''Übersetzen''' ('''Compile'''): Dadurch wird der Quelltext (Sourcecode) in Maschinensprache übersetzt, welches sich am Verschwinden der Schraffierung zeigt.[[Datei:BlueJ shapes1.png|alternativtext=Leinwand mit drei bunten Figuren|mini|Leinwand mit drei bunten Figuren]] | * In der linken Spalte wählen Sie den Befehl '''Übersetzen''' ('''Compile'''): Dadurch wird der Quelltext (Sourcecode) in Maschinensprache übersetzt, welches sich am Verschwinden der Schraffierung zeigt.[[Datei:BlueJ shapes1.png|alternativtext=Leinwand mit drei bunten Figuren|mini|Leinwand mit drei bunten Figuren]] | ||
# Klicken Sie nun mit der rechten Maustaste auf jede Figuren-'''Klasse''' und rufen Sie den Befehl <code>newCircle()</code>, <code>newSquare()</code>, <code>newTriangle()</code> auf. Mit diesem Befehl erzeugen Sie eine '''Instanz''' der Klasse, der sie dann einen Namen (z.B. circle1) geben müssen. Solche Klassen-Instanzen bezeichnet man als '''[[ | # Klicken Sie nun mit der rechten Maustaste auf jede Figuren-'''Klasse''' und rufen Sie den Befehl <code>newCircle()</code>, <code>newSquare()</code>, <code>newTriangle()</code> auf. Mit diesem Befehl erzeugen Sie eine '''Instanz''' der Klasse, der sie dann einen Namen (z.B. circle1) geben müssen. Solche Klassen-Instanzen bezeichnet man als '''[[Java/Glossar#Objekte|Objekte]]'''. | ||
# Klicken Sie mit der rechten Maustaste auf jedes dieser Objekte: Es erscheint ein Kontextmenü mit vielen Befehlen. Bei den meisten dieser Befehle handelt es sich um '''Methoden'''. | # Klicken Sie mit der rechten Maustaste auf jedes dieser Objekte: Es erscheint ein Kontextmenü mit vielen Befehlen. Bei den meisten dieser Befehle handelt es sich um '''[[Java/Glossar#Methode|Methoden]]'''.. | ||
# Wählen Sie die '''Methode''' <code>sichtbarMachen()</code> für jedes Objekt. Es erscheint eine Leinwand mit den drei Objekten wie in Abbildung 1. | # Wählen Sie die '''Methode''' <code>sichtbarMachen()</code> für jedes Objekt. Es erscheint eine Leinwand mit den drei Objekten wie in Abbildung 1. | ||
}} | }} |
Version vom 13. November 2019, 15:08 Uhr
Beispielprojekt "Shapes"
Herzlichen Dank an Ulrich Helmich, dessen Materialien verwendet werden durften.
Zudem lohnt sich ein Blick auf seine Seite, da er dort das Beispiel noch ausführlicher behandelt.
- u-helmich.de: Folge 2: Wir programmieren
Starten Sie BlueJ und laden Sie das Beispielprojekt "Shapes". Sie finden es im Installationsordner von BlueJ unter c:\bluej\examples\shapes
(Windows) bzw. /usr/share/doc/BlueJ/shapes
(Linux). In dem weißen Hauptbereich kann man vier Klassen erkennen: Leinwand (Canvas), Kreis (Circle), Quadrat (Square) und Dreieck (Triangle).
- Die Spracheinstellung der Benutzeroberfläche können Sie im Menü unter Werkzeuge (Tools) > Einstellungen (Preferences) > Benutzeroberfläche (Interface) verändern.
- In der linken Spalte wählen Sie den Befehl Übersetzen (Compile): Dadurch wird der Quelltext (Sourcecode) in Maschinensprache übersetzt, welches sich am Verschwinden der Schraffierung zeigt.
- Klicken Sie nun mit der rechten Maustaste auf jede Figuren-Klasse und rufen Sie den Befehl
newCircle()
,newSquare()
,newTriangle()
auf. Mit diesem Befehl erzeugen Sie eine Instanz der Klasse, der sie dann einen Namen (z.B. circle1) geben müssen. Solche Klassen-Instanzen bezeichnet man als Objekte. - Klicken Sie mit der rechten Maustaste auf jedes dieser Objekte: Es erscheint ein Kontextmenü mit vielen Befehlen. Bei den meisten dieser Befehle handelt es sich um Methoden..
- Wählen Sie die Methode
sichtbarMachen()
für jedes Objekt. Es erscheint eine Leinwand mit den drei Objekten wie in Abbildung 1.
- der Methode
farbeAendern(String neueFarbe)
und - der Methode
groesseAendern(int neuerDurchmesser)
Grundbegriffe der OOP
Klasse
Eine Klasse ist eine Vorschrift zur Konstruktion von Objekten. Eine Klasse ist immer etwas Abstraktes. Eine Klasse kann zum Beispiel nicht angezeigt werden. Dazu müssen erst Objekte der Klasse erzeugt werden.
Beispiel
Die Klasse „Kreis“ im Beispiel enthält einen Bauplan eines Kreises. Nach diesem können konkrete Kreise angelegt werden.
Konvention
Klassennamen sind Substantive. Sie werden groß geschrieben z.B. Canvas, Circle, Square, Triangle
.
Objekt
Ein Objekt ist eine konkrete, aus der Klasse abgeleitete oder erzeugte Instanz, die sich durch einen bestimmten Zustand auszeichnet. Aus einer Klasse können mehrere Objekte gebildet werden, die sich voneinander unterscheiden können.
Beispiel
BlueJ benennt Objekte selbst. Es wird der Klassenname verwendet und eine Zahl angehängt: circle1, circle2, circle3
Konvention
Objektnamen werden klein geschrieben z.B. circle1, circle2, circle3
.
Methoden
Methoden sind Operationen, die entweder den Zustand eines Objektes ändern (verändernde Methoden) oder Informationen über den Zustand eines Objektes zurückliefern (sondierende Methoden).
Beispiel
Durch die Methode farbeAendern()
verändert man die Eigenschaft Farbe eines Objektes.
Konvention
Methoden sind Verben. Sie werden klein geschrieben z.B. farbeAendern()
.
- Vertiefung
- wikibooks: Kurzeinstieg Java: OOP
Konventionen bei der Namensgebung
Für die Wahl der Namen von Klassen, Methoden und Variablen gelten in Java Konventionen:
- Es wird die sogenannte CamelCase-Schreibweise verwendet: Mehrere Wörter werden zusammen geschrieben. Dabei beginnt jedes Wort in der Mitte mit einem Großbuchstaben:
vgl.sichtbarMachen()
,einGrünerKreis
- Verwenden Sie Sprechende Namen, damit Ihnen (oder anderen, die Ihren Code später lesen) das Verständnis erleichtert wird. So soll aus dem Namen möglichst hervorgehen, welche Funktion die Klasse, Methode oder Variable hat.
Übungen zu den Begrifflichkeiten der OOP
- Erstellen Sie durch das Bewegen der Figuren und das Verändern ihrer Farben folgende Zeichnung:
- Untersuchen Sie die im Projekt „Figuren“ enthaltenden Klassen auf die Methoden und Eigenschaften. Sammeln Sie von jeder Klasse mindestens vier Methoden und vierEigenschaften.
Dreieck
Eigenschaften (Attribute):
xPosition : int
____
____
____
Methoden (Operationen):
farbeAendern(String neueFarbe)
___
___
___
Quadrat
Eigenschaften:
___
___
___
___
Methoden:
Kreis
Eigenschaften:
___
___
___
___
Methoden:
Methodenkopf | Datentyp des Übergabeparameters | Ergebnistyp |
---|---|---|
public void horizontalBewegen (int entfernung) | ||
public void horizontalBewegen (int entfernung) | ||
public int gibGroesse()Public void loeschen() | ||
public void groesseAendern(int Hoehe, int Breite) |