Suche Home Einstellungen Anmelden Hilfe  

Ein einfaches Beispiel in JAVA

Wir erstellen eine konkrete Klasse Motorcycle.

Klasse
class Motorcycle { }

Instanzvariablen für diese Klasse :
String make;
String color;
boolean engineState;

engineState ist ein boolescher Ausdruck, der bestimmt, ob der Motor läuft oder ausgeschaltet ist, make das Modell und color die Farbe des Motorrades.

Methoden der Klasse

void startEngine()
{
    if (engineState = = true)
        System.out.println("Der Motor ist bereits gestartet.");
    else
    {
        engineState = true;
        System.out.println("Der Motor ist jetzt an.");
    }
}

Die startEngine-Methode prüft, ob der Motor bereits läuft (in der Zeile engineState = = true). Trifft das zu, gibt sie eine diesbezügliche Meldung aus. Falls der Motor noch nicht läuft, ändert sich der Zustand des Motors auf true, dann erfolgt eine Meldung.

Wir fügen noch eine Methode ein. Die showAtts-Methode gibt die aktuellen Werte der Instanzvariablen in einer Instanz der Motorcycle-Klasse aus. Das sieht so aus:

void showAtts()
{
    System.out.println("Das Motorrad ist eine "+ color + "e " + make);
    if (engineState = = true)  System.out.println("Der Motor ist an..");
    else System.out.println("Der Motor ist aus.");
}

Die showAtts-Methode gibt zwei Zeilen am Bildschirm aus: Das Modell (make) und die Farbe (color) des Objekts Motorrad, und ob der Motor ein oder aus ist.

"Das Motorrad ist eine rote Honda. Der Motor ist aus" wäre ein Beispiel.

Um etwas mit der Motorcycle-Klasse anfangen zu können, z. B. Instanzen dieser Klasse erstellen und damit spielen, müssen Sie eine Java-Anwendung schreiben, die diese Klasse benutzt, oder in diese Klasse eine main-Methode einfügen. Der Einfachheit halber entscheiden wir uns für letzteres.

class MotorRad
1.     public static void main (String args[]) {
2:     Motorcycle m = new Motorcycle();
3:     m.make = "Honda";
4:     m.color = "rot";
5:     System.out.println("Rufe die Systemattribute auf...");
6:     m.showAtts();
7:     System.out.println(".......");
8:     System.out.println("Starte den Motor...");
9:     m.startEngine();
10:   System.out.println(".......");
11:   System.out.println("Rufe die Systemattribute auf...");
12:   m.showAtts();
13:   System.out.println(".......");
14:   System.out.println("Starte den Motor...");
15:   m.startEngine();
16:  }

Beide Klassen werden zusammen unter dem Namen MotorRad.java abgespeichert und mittels javac MotorRad.java kompilliert. Der Byte-Code (MotorRad.class) wird nun mit java MotorRad ausgeführt.

Vererbung

Wollen wir nun beispielsweise von unserer Klasse MOTOCYCLE eine SUBCLASS SUPERBIKE erstellen. Die alles erbt, aber eine weitere Methode bekommt und eine geerbte Methode überschreibt.





import java.io.*;
class Superbike extends Motorcycle
{
    boolean it_is;
    int qcm;
    BufferedReader wert = new BufferedReader(new InputStreamReader(System.in));

    void read_qcm()
    {
        try
        {
            System.out.println(" Bitte geben Sie die Marke ein :");
            make = wert.readLine();
            System.out.println(" Bitte geben Sie Farbe an :");
            color = wert.readLine();
            System.out.println(" Bitte geben Sie den Hubraum in qcm ein :");
            qcm = Integer.parseInt(wert.readLine());
            if (qcm < 750) it_is = false;
            else it_is = true;
          }
        catch (IOException e)
            {
                System.out.println(e.toString);
            }
      }

void showAtts()
    {
        System.out.println("Das Motorrad ist eine " + color + "e " + make);
        if (it_is == true) System.out.println("Glueckwunsch zur Superbike !");
        else System.out.println("Schoenes Motorrad, aber keine Superbike.");
    }
}

class MotorradTest
{
    public static void main (String args[])
        {
            Superbike m = new Superbike();
            m.read_qcm();
            System.out.println("Rufe die Systemattribute auf...");
            m.showAtts();
        }
}

Erläuterungen :

class Superbike extends Motorcycle

BufferedReader wert = new BufferedReader(new InputStreamReader(System.in)); try .. catch color = wert.readLine();

qcm = Integer.parseInt(wert.readLine());

void showAtts()

Benutzer: gast • Besitzer: seminar • Zuletzt geändert am: