Java Objektorientierung lernen. Beispiel für Anfänger.

Anzeige

Die Objektorientierung in Java ist ziemlich schwieriges Thema für Java Anfänger.
Ich werde in diesem Artikel keine Grundlagen von der Objektorientierung erklären, denn es gibt dafür ausreichende Informationen im Netz. Man sollte zuerst die Grundlagen der Objektorientierung lernen

In diesem Artikel finden Sie ein einfaches Beispiel der Objektorientierung mit detaillierter Erklärung, das mit Java realisiert ist.
Das Beispiel enthält folgende Bestandteile: Attribute, Konstruktor mit Parametern, Konstruktor ohne Parameter,  Methode, Setter Methode, Getter Methode, etc.
Es wird erklärt, was jeweiliger Bestandteil bedeutet und wie man damit umgeht.

Wenn Sie mit der Theorie ein bisschen vertraut sind, dann müsste dieses Beispiel beim Verstehen der Objektorientierung in Java helfen.

Flugzeug


Szenario:

Wir werden mit unserem Programm diverse Flugzeuge bauen und mit denen anschließend fliegen.
Jedes Flugzeug hat folgende Eigenschaften/Daten: Modell, Maximale Geschwindigkeit, Position im  Himmel.
Mit der Position ist die Entfernung von der Startposition gemeint. Jedes Flugzeug startet mit der Position 0 km.



Java Objektorientierung - Beispiel mit Erklärung


 
// Klasse Flugzeug
public class Flugzeug

  
 
//Attribute
 
private String flugzeugModell;  
 
private int maxSpeed;
 
private int Position; 
  
 
Was bedeutet ein Attribut in Java? 
Attribute: Hier werden die Eigenschaften und Daten definiert, die unsere Flugzeuge haben.
private => Das Attribut ist außerhalb dieser Klasse (class Flugzeug) nicht veränderbar/erreichbar.

 
 
//Konstruktor mit Parametern
 
public Flugzeug (String Modell, int maxSpeed){
   
flugzeugModell = Modell; 
   
this.maxSpeed = maxSpeed;
    Position =
0;
 
}
 
 
//Konstruktor ohne Parametera
 
public Flugzeug (){
   
flugzeugModell = "default"
    maxSpeed =
100;
    Position =
0;
 
}
  
  
Was bedeutet ein Konstruktor in Java? 
Konstruktor ist eine Methode, die beim Erzeugen eines Objektes
(mit new-Operator)  aufgerufen wird.
Ein Konstruktor hat immer den gleichen Namen wie die Klasse.
Konstruktor hat keinen Rückgabewert.
Im Konstruktor kann man die Anfangswerte vom Objekt festlegen
(z.B. Position = 0;).
this.maxSpeed => "this." wird dann geschrieben, wenn der Parameter gleich wie das Attribut heißt.
Wir haben in unserem Beispiel
2 Konstruktoren, d.h. das Objekt kann mit dem 1. oder 2. Konstruktor erstellt werden.
Wenn beim Erzeugen des Objekts die Parameter
(flugzeugModell, maxSpeed, Position) nicht angegeben werden [z.B Flugzeug Flugzeug1 = new Flugzeug ()],
wird das Objekt mit dem Konstruktor ohne Parameter erstellt. Dabei werden dem Objekt Standartwerte zugewiesen:
flugzeugModell =
"default"; maxSpeed = 100;  Position = 0;
Wenn wir ein Objekt mit Parametern erstellen:
[z.B. Flugzeug Flugzeug2 = new Flugzeug (Stealth, 500, 10)], werden die Werte der Parameterliste  dem Objekt zugewiesen.
(String sModell, int maxSpeed, int xPos) => Das sind die Parameter. 
  
  
  
//Methode
// Jedes Flugzeug hat ja unterschiedliche max. Geschwindigkeit (maxSpeed), deswegen wird bei der Berechnung der Position die Anzahl der Schritte mit maxSpeed multipliziert.
 
public void vorwärtsFliegen(int iSchritt){
   
Position = Position + (iSchritt * maxSpeed);
 
}
 
 
 
//Setter Methode
 
public void setmaxSpeed (int mSpeed){
   
maxSpeed = mSpeed;
 
}
 
 
//Getter Methode
 
public int getmaxSpeed (){
   
return maxSpeed;
 

 
Was bedeutet eine Methode in Java?
Eine Methode ist in der Objektorientierung ein Unterprogramm, das für das Hauptprogramm bestimmte Berechnungen/Änderungen durchführt oder Daten abfragt.
Die Beispiele von Unterprogrammen: vorwärtsFliegen
(ändert die Position vom Flugzeug), setmaxSpeed (ändert max. Geschwindigkeit vom bestimmten Flugzeug), getmaxSpeed (liefert den Wert von der max. Geschwindigkeit vom bestimmten Flugzeug)

 
 
 
/**
   *
@param args
   */
 
 
 
 
//----------------------------- Main Methode ----------------------------//
 
public static void main(String[] args) {
   
// TODO Auto-generated method stub
   
    //Erstellen des Objekts mit dem Konstruktor ohne Parameter
   
Flugzeug Flugzeug1 = new Flugzeug()
    System.out.println
("Modell = " + Flugzeug1.flugzeugModell);
    System.out.println
("maxSpeed = " + Flugzeug1.maxSpeed + " km/h");
    System.out.println
("Position = " + Flugzeug1.Position + " km");
   
   
   
// Ergebnis in der Konsole:
    // Modell = default
    // maxSpeed = 100 km/h
    // Position = 0 km
   
       
    //Wir fliegen mit dem Flugzeug1 5 Schritte.
   
Flugzeug1.vorwärtsFliegen(5);
    System.out.println
("Position = " + Flugzeug1.Position + " km");
   
   
// Ergebnis in der Konsole:
    // Position = 500 km 
    // Erklärung: Also 5 Schritte x maxSpeed (100 km/h) = 500 km
   
       
    //Erstellen des Objekts mit dem Konstruktor mit Parametern
   
Flugzeug Flugzeug2 = new Flugzeug("stealth", 1000);
    System.out.println
("Modell = " + Flugzeug2.flugzeugModell);
    System.out.println
("maxSpeed = " + Flugzeug2.maxSpeed + "km/h");
    System.out.println
("Position = " + Flugzeug2.Position + " km");
   
   
// Ergebnis in der Konsole:
    // Modell = stealth
    // maxSpeed = 1000km/h
    // Position = 0 km
       
     
    //Wir fliegen mit dem Flugzeug2 5 Schritte.
   
Flugzeug2.vorwärtsFliegen(5);
    System.out.println
("Position = " + Flugzeug2.Position + " km");
   
   
// Ergebnis in der Konsole:
    // Position = 5000 km 
    //Erklärung: 5 Schrtte x maxSpeed (1000 km/h) = 5000 km 
    
    
//Wir können die maximale Geschwindigkeit vom Flugzeug1 nachträglich auf 10000 km/h ändern: 
Flugzeug1.setmaxSpeed(10000)
    
//Aktuelle maximale Geschwindigkeit anzeigen 
System.out.println("maxSpeed = " + Flugzeug1.getmaxSpeed() + "km/h")
    
// Ergebnis in der Konsole: 
//maxSpeed = 10000km/h

 
}

}

 

Sie können gerne den Beispielcode kopieren, in Eclipse die Klasse “Flugzeug” erstellen, den Beispielcode einfügen, meine Kommentare im Code löschen (z.B. Was bedeutet eine Methode in Java? ) und selbst üben, Werte ändern, neue Objekte erstellen. Dann wird es noch einfacher, das Thema Objektorientierung zu verstehen.

Ich wünsche viel Erfolg beim Üben!

Fehler gefunden?
Bitte  über Kommentare melden.


2 Kommentare