Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
schule:klassen:2018:10bc:kap1 [2019/10/08 06:19] – [Aufgabe 2] martinschule:klassen:2018:10bc:kap1 [2021/12/29 10:40] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 +====== 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:**
 +<code java>
 +public class HelloWorld
 +{
 +    public void textausgabe(){
 +        System.out.println("Hallo Welt!");
 +    }
 +}
 +</code>
 +
 +===== 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.
 +  
 +<code java>
 +public class HelloWorld
 +{   
 +    public void rechtecksflächeAusgeben(){
 +        System.out.println("Fläche:");
 +        System.out.println(10 * 8);
 +    }
 +}
 +</code>
 +  * 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!
 +<code java>
 +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));
 +    }
 +}
 +</code>
 +
 +===== 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[
 +
 +<code java>
 +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));
 +    }
 +</code>
 +
 +===== Ü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: ===
 +<code java>
 + 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));
 + }
 +</code>
 +
 +
 +===== Aufgabe 4 =====
 +==== Die Klasse Auto: ====
 +<code java>
 +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();
 + }
 +
 +
 +}
 +</code>
 +==== Nutzung der Klasse (beispielhaft): ====
 +<code java>
 +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();
 +</code>
 +**Ausgabe:**
 +<code>
 +Modell: Audi A4
 +Leistung: 90.0 kW
 +Modell: VW Käfer
 +Leistung: 45.0 kW
 +</code>
 +
 +**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 **
 +<code java>
 +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");
 + }
 + }
 +
 +}
 +</code>
  
Drucken/exportieren
QR-Code
QR-Code schule:klassen:2018:10bc:kap1 (erstellt für aktuelle Seite)