Inhaltsverzeichnis
Grundbegriffe der Objektorientierung
Aufgabe 1
- Erstelle eine Klasse HelloWorld mit einer Methode textausgabe( ), die den Text „Hallo Welt“ ausgibt!
- Instanziere ein Objekt der Klasse und rufe für dieses Objekt die Methode textausgabe( ) auf.
Lösung:
public class HelloWorld { public void textausgabe(){ System.out.println("Hallo Welt!"); } }
Aufgabe 2
- Füge der Klasse HelloWorld eine Methode rechtecksflächeAusgeben() hinzu, die die Fläche eines Rechtecks mit der Länge 10 cm und der Breite 8 cm ausgibt.
public class HelloWorld { public void rechtecksflächeAusgeben(){ System.out.println("Fläche:"); System.out.println(10 * 8); } }
- Füge der Methode die Parameter
länge
undbreite
vom Datentyp double hinzu. Ändere sie so ab, dass der Flächeninhalt mit Hilfe dieser beiden Parameter berechnet wird. - Erweitere die Methode so dass sie auch den Umfang ausgibt!
public class HelloWorld { public void textausgabe(){ System.out.println("Hallo Welt!"); } public void rechtecksflächeAusgeben(double länge, double breite){ System.out.println("Fläche:"); System.out.println(länge * breite); System.out.println("Umfang:"); System.out.println(2*(länge + breite)); } }
Aufgabe 3
Schreibe
a) eine Methode kreisUmfangAusgeben(double radius)
b) eine Methode quaderOberflächeAusgeben(double länge, double breite, double höhe)
c) eine Methode zufallszahlAusgeben(double von, double bis)
Tipp: Die Methode Math.random() liefert eine Zufallszahl im Intervall [0; 1[
public void kreisUmfangAusgeben(double radius){ System.out.println("Kreisumfang: "); System.out.println(2 * 3.14159 * radius); } public void quaderoberflächeAusgeben(double länge, double breite, double höhe){ System.out.println("Quaderoberfläche: "); System.out.println(2*länge*breite + 2*länge*höhe + 2*breite*höhe); } public void zufallszahlAusgeben(double von, double bis){ System.out.println("Zufallszahl: "); System.out.println(von + Math.random()*(bis - von)); }
Übung
- Schreibe eine Methode zylindervolumenAusgeben, die das Volumen eines Zylinders zurückliefert!
- Schreibe eine Methode zufall, die zwei ganze Zahlen von und bis als Parameter entgegennimmt und eine ganze Zufallszahl aus der Menge {von, …, bis} zurückliefert.
Tipp 1:
Die Methode Math.random() liefert eine Zufallszahl aus dem Intervall [0;1[ zurück.
Tipp 2:
Die Methode (int)Math.floor(a) liefert den ganzzahligen Anteil der Zahl a zurück.
Lösung:
public void zylindervolumenAusgeben(double radius, double höhe){ return Math.PI * radius * radius * höhe; } public int zufall(int von, int bis){ return von + (int)Math.floor( Math.random()*(bis - von + 1)); }
Aufgabe 4
Die Klasse Auto:
public class Auto { private String modell; private double leistungKW; public void setzeName(String m){ modell = m; } public void setzeLeistungKW(double kw){ leistungKW = kw; } public void schreibeDaten(){ System.out.println("Modell: " + modell); System.out.println("Leistung: " + leistungKW + " kW"); } public static void main(String[] args) { new Auto().test(); } }
Nutzung der Klasse (beispielhaft):
Auto a1 = new Auto(); a1.setzeName("Audi A4"); a1.setzeLeistungKW(90); a1.schreibeDaten(); Auto a2 = new Auto(); a2.setzeName("VW Käfer"); a2.setzeLeistungKW(45); a2.schreibeDaten();
Ausgabe:
Modell: Audi A4 Leistung: 90.0 kW Modell: VW Käfer Leistung: 45.0 kW
Aufgabe:
- Erweitere die Klasse um ein Attribut farbe vom Datentyp String!
- Schreibe eine Klasse Tier mit den Attributen art, name, anzahlBeine und hatFell!
Lösung
public class Tier { private String art; private String name; private int anzahlBeine; private boolean hatFell; public void setzeArt(String a) { this.art = a; } public void setzeName(String n) { this.name = n; } public void setzeAnzahlBeine(int ab) { this.anzahlBeine = ab; } public void setzeHatFell(boolean hf) { this.hatFell = hf; } public void schreibeDaten(){ System.out.println("Ich heiße " + name + " und bin ein " + art + "."); System.out.print("Ich habe " + anzahlBeine + " Beine und "); if(hatFell){ System.out.println("ein Fell."); } else { System.out.println("kein Fell"); } } }