1. Aufgabe:
Sie haben folgende Klassenvereinbarung:
public class Elefant{
int gewicht;
int groesse;
}
Die Klasse Elefant befindet sich in einem Paket tiere. Kann eine andere Klasse, die sich im Paket
meinetests befindet, direkt auf die Werte der Instanzvariablen gewicht und groesse der Klasse
Elefant zugreifen? Begründen Sie bitte Ihre Antwort.
2. Aufgabe:
Sie haben folgende Klassenvereinbarungen in getrennten Quelltextdateien:
package tiere;
public class Katze {
private int gewicht;
private int farbe;
private int groesse;
}
package tiere;
public class ElternKatze extends Katze {
private int kinderzahl;
}
Die Klasse ElternKatze soll auf die Instanzvariable gewicht der Klasse Katze zugreifen
können. Welche Möglichkeiten kennen Sie, diesen Zugriff zu ermöglichen? Bewerten Sie diese
Möglichkeiten bitte auch. Achten Sie dabei besonders auf die Datenkapselung.
Ein Tipp: Sie sollten mindestens drei verschiedene Varianten nennen können. Zwei hängen direkt mit
der Vereinbarung der Instanzvariablen zusammen, die dritte dagegen nicht
3. Aufgabe:
Bitte sehen Sie sich die folgende Klassenvereinbarung genau an.
public class Ziege {
private int gewicht;
private char geschlecht;
//ein Konstruktor
private Ziege(int gewicht, char geschlecht) {
this.gewicht = gewicht;
this.geschlecht = geschlecht;
}…
Können Sie in einem Quelltext in einem anderen Paket eine Instanz der Klasse Ziege erstellen?
Begründen Sie bitte Ihre Antwort und nennen Sie gegebenenfalls die Stellen im Quelltext der Klasse
Ziege, die geändert werden müssten.
4. Aufgabe:
Erstellen Sie eine wiederverwendbare Klasse Rechnungen mit Klassenmethoden in einem Paket
javaauf4. Die erste Methode quadrat() der Klasse soll das Quadrat einer übergebenen Zahl
berechnen und die zweite Methode wurzel() die Quadratwurzel einer übergebenen Zahl.
Für das Berechnen der Quadratwurzel können Sie die Methode sqrt() aus der Klasse Math
verwenden. Die Methode erwartet einen double-Typ als Argument und liefert einen double-Typ
zurück. Eine Import-Anweisung ist für die Klasse nicht erforderlich, da sie zum Paket java.lang gehört.
Erstellen Sie von der Methode quadrat() jeweils eine Version, die int-Typen verarbeitet und
einen int-Typ zurückliefert, und eine Version, die double-Typen verarbeitet und einen doubleTyp zurückliefert. Der Aufruf soll aber nur durch den Namen quadrat() erfolgen. Welcher Typ
verarbeitet werden soll, muss die Funktion selbst anhand des Arguments feststellen können.
Fehler! Kein Text mit angegebener Formatvorlage im Dokument. 3/5
Kommentieren Sie die Klasse Rechnungen ausführlich.
Erstellen Sie dann eine Klasse in einem Projekt in einem anderen Arbeitsbereich, die in einer main()-
Methode die Klassenmethoden aus der Klasse Rechnungen jeweils mit einem int- und einem
double-Wert aufruft. Nehmen Sie die Klasse Rechnungen dabei über einen Verweis in das Projekt
mit der Testklasse auf.
Beschreiben Sie bitte für die Lösung dieser Aufgabe zusätzlich, welche Schritte Sie mit Eclipse für das
Erstellen der wiederverwendbaren Klasse durchführen und wie Sie die Klasse Rechnungen in das
Projekt mit der Testklasse einbinden.