====== 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'' und ''breite'' 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"); } } }