Übungen für Objektorietiertes Programmieren mit Klassendiagramm?


12.12.2021, 13:42

Ähnlich wie die Aufgaben:

1 Antwort

Vom Beitragsersteller als hilfreich ausgezeichnet

Hier ein paar Ideen meinerseits. Jede dieser Aufgaben wir ausschließlich in der Main-Klasse umgesetzt, demnach sind die zu bearbeitenden Klassen alle Unterklassen der Main. Für die Lösung schreibst Du mich hier am besten privat an.

1. Gegeben sei folgende Klasse:

private static class Animal {
    private int height;
    private int weight;
    private String name;
    
}

1.1 Implementiere alle Setter- und Getter-Methoden (setHeight, getHeight, setWeight, getWeight, setName, getName)

1.2 Implementiere ...

a) einen Konstruktor, der die Variablen ohne übergebene Parameter mit Standard-Werten füllt

b) einen Konstruktor, der an ihn übergebene Parameter nutzt, um die Variablen zu füllen

1.3 Implementiere eine Methode "grow", welche die Variablen height und weight um die als Parameter übergebenen Werte erhöht

1.4 Implementiere eine Methode "isBig" welche einen booleschen Wert zurückgibt. Ist das Tier kleiner gleich 1,50m -> false, größer als 1,50m -> true

1.5 Implementiere eine Methode "toString", welche einen String nach folgenden Muster zurück gibt:

"Das Tier <Name> ist <Größe> Meter groß und wiegt <Gewicht> Kg. Es handelt sich um ein <großes/kleines> Tier."

1.6 Implementiere eine Methode "equals", welche das Tier mit einem weiteren Tier der Klasse "Animal" vergleicht. Sind alle Eigenschaft gleich, soll true als Rückgabewert ausgegebene werden, ansonsten false.

2. Gegeben sei folgende Klasse, welche von der Klasse "Animal" erbt:

private static class RiesenKatze extends Animal{
    private String color;

    public RiesenKatze (int height, int weight, String name, String color) {

    }
}

2.1 Füge dem Konstruktor die Funktionalität zu, dass dieser die Variablen "height", "weight" und "name" aus der Elternklasse, sowie die Variable "color" mit Werten füllt. Verzichte dabei auf die bereits implementierten Setter-Methoden und nutze das Schlüsselwort "super()". Erstelle zusätzlich einen Standard-Konstruktor ohne Parameter, nutze auch hier "super()".

2.2 Implementiere auch hier passende "toString" ,"equals", Setter- und Getter-Methoden

2.3 Implementiere eine Methode "getBaby", welche ein Objekt des Typs Riesenkatze zurückgibt. Darin soll eine neue Riesenkatze mit zufälligen Eigenschaften erstellt werden. Nutze dazu folgende Arrays mit den gegebenen Eigenschaften:

int[] heights = {100,110,120,130,140};
int[] weights = {45, 50, 55, 60, 65};
String[] names = {"Wuschel", "Mikesch", "Kitty", "Flauschi", "Katzi"};
String[] colors = {"schwarz", "grau", "weiß", "gefleckt", "braun"};

Erstelle dabei zuerst ein neues Objekt des Typs Riesenkatze und verändere durch die Setter-Methoden die Eigenschaften. Gib dieses Objekt schlussendlich zurück. Du kannst für die Umsetzung die Methode Math.random() nutzen.

-------------------

Mit dieser komplexen Aufgabe solltest Du zunächst einmal gut zu tun haben. Wesentliche Funktionalitäten von Klassen dürftest Du danach verstanden haben.

Wenn Du Fragen hast, stell mir eine Freundschaftsanfrage und wir können das dann anderweitig besprechen.

Grüße, Jacob