/** * Ich übernehme KEINE Garantie, dass die Konzepte richtig erklärt, bzw. benannt sind. Alles auf eigene Gefahr. :) * Der Beispielcode ist nicht lauffähig. * Er soll auch nicht unbedingt Sinn ergeben, sondern nur kurz die Konzepte erklären. * Es macht vorallem keinen Sinn, dass ein Auto einen Schlumpf kennt. */// Dies ist ein Kommentar/** * Das auch */// Das alles hier ist der Quelltext/** * Klasse */public class Schlumpf {}/** * Klasse */public class Car { /** * Attribute (Instanzvariablen) */ private int geschwindigkeit; // Attribut vom Typ Integer, kann nur Ganzzahlige Werte speichern, z.B. 4 private double tankstand; // Attribut vom Typ Double, kann Zahlen mit Nachkommastellen speichern, z.B. 4.5 private boolean istGetankt; // Attribut vom Typ Boolean, kann true oder false speichern private String marke; // Attribut vom Typ String kann Zeichenketten speichern, z.B. "Ludolfs" /** * Konstruktor * erwartet einen Parameter (aTankstand) vom Typ int. Man kann also einen Integer Wert an den Konstruktor übergeben */ public Car(int aTankstand) { // Signatur geschwindigkeit = 0; // Zuweisung: Dem Attribut geschwindigkeit wird der Wert 0 zugewiesen. Der Zustand von geschwindigkeit, ist jetzt also 0 tankstand = aTankstand; // Zuweisung: Dem Attribut tankstand wird der Wert der in aTankstand gespeichert ist zugewiesen. aTankstand wurde dem Konstruktor übergeben istGetankt = true; // Zuweisung: Dem Attribut istGetankt wird true zugewiesen marke = "BMW"; // Zuweisung: Dem Attribut marke wird "BMW" zugewiesen. Wichtig sind die Anführungszeichen, wenn man einen String angeben möchte Schlumpf schlumpfine = new Schlumpf(); // Erzeuge neues Objekt schlumpfine, vom Typ Schlumpf. } /** * Methode * erwartet einen Parameter (liter) vom Typ double. Es kann also eine Kommazahl übergeben werden. * Die Methode besitzt keinen Rückgabewert (void) */ public void tanken(double liter) { // Signatur tankstand = tankstand + liter; // Zuweisung: Dem Attribut tankstand wird sein jetztiger Wert plus dem Wert aus liter zugewiesen. Also alter Wert + liter istGetankt = true; // Zuweisung: Dem Attribut istGetankt wird true zugewiesen System.out.println("neuer Tankstand: " + tankstand); // Methodenaufruf. Ruft die Methode println auf, um den neuen Tankstand auszugeben } /** * Methode * erwartet 2 Parameter * 1. Parameter aKilometer ist vom Typ integer. Kann Ganzzahlen speichern. * 2. Parameter aGeschwindigkeit ist vom Typ integer. Kann Ganzzahlen speichern. * Die Methode besitzt keinen Rückgabewert (void) */ public void fahre(int aKilometer, int aGeschwindigkeit) { // Signatur /** * If Abfrage (Bedingte Anweisung). * Es wird erst die Methode pruefeTankstand aufgerufen. Wenn pruefeTankstand true zurückgibt, wird der Code in den geschweiften Klammern ausgeführt, falls false * zurückgeliefert wurde, wird der Teil zwischen den geschweiften Klammern ignoriert. */ if (pruefeTankstand()) { geschwindigkeit = aGeschwindigkeit; // Zuweisung: geschwindigkeit wird der Wert aus aGeschwindigkeit zugewiesen /** * For Schleife * Die Schleife wird solange ausgeführt, wie der wert aus i kleiner als dem Wert aus aKilometer ist. */ for (int i = 0; i < aKilometer; i++) { if (pruefeTankstand()) { // Wieder If Abfrage, wie oben. tankstand = tankstand - i; // Zuweisung: Tankstand wird der jetzige Wert minus dem Wert aus der Zählvariablen i zugewiesen } } } System.out.println("Tankstand: " + tankstand); // Gibt Tankstand aus. } /** * Methode * Die Methode besitzt den Rückgabewert boolean. Sie kann also true ODER false zurückliefern */ public boolean pruefeTankstand() { // Signatur if (tankstand <= 0) { // Wenn tankstand kleiner gleich 0, dann istGetankt = false; // Zuweisung: istGetankt wird false zugewiesen } else { // Trifft die erste Bedingung nicht zu, dann istGetankt = true; // Zuweisung: istGetankt wird true zugewiesen } return istGetankt; // liefert den Wert (true, oder false) aus istGetankt zurück } /** * Methode * Dies ist eine sinnlose Methode, die keinen Rückgabetyp besitzt (void) */ public void sehrSinnloseMethode() { /** * numbersOfRosenkohl ist eine lokale Variable vom Typ integer. Diese Variable ist nur innerhalb dieser Methode benutzbar. */ int numbersOfRosenkohl = 12; }}