Hallo liebe Freunde,
ich hätte eine Frage zu einer Aufgabe in einer Klausur von mir(,die bereits geschrieben wurde). Es geht hierbei um die Typsicherheit.
Die Aufgabe lautet wie folgt:
Die folgenden Klassen modellieren verschiedene Typen von Getränken sowie Flaschen-Verschlüssen.
Definieren Sie in Java eine Klasse Flasche, die per Typparameter nur die Füllung mit einem Typ Getränk, sowie nur eine Form von Verschluss zulässt. Achten Sie auf eine geeignete Kapselung der Attribute.
Flasche sollte ausschließlich im Konstruktor mit Inhalt und Verschluss versehen werden können. Eine Methode oeffnen soll den Verschluss zurück geben, eine Methode leeren ihren Inhalt.
Eine Flasche soll nur einmal geöffnet und geleert werden können, und eine Leerung nur dann möglich sein, wenn die Flasche bereits geöffnet wurde.
Die Klasse Flasche soll sich mit folgendem Beispielaufruf verwenden lasse
Auch in der Klausur konnte ich diese Aufgabe nicht lösen. Mit der Typsicherheit komme ich nicht besonders gut klar. Das Maximum hierbei war folgendes von mir:
Das ist nicht viel bis gar nichts. Ich wäre wirklich sehr dankbar für eure Hilfe.
ich hätte eine Frage zu einer Aufgabe in einer Klausur von mir(,die bereits geschrieben wurde). Es geht hierbei um die Typsicherheit.
Die Aufgabe lautet wie folgt:
Die folgenden Klassen modellieren verschiedene Typen von Getränken sowie Flaschen-Verschlüssen.
Java:
public class Getraenk{}
Java:
public class Cola extends Getraenk{}
Java:
public class Bier extends Getraenk{}
Java:
public class Verschluss{}
Java:
public class Korken extends Verschluss{}
Java:
public class Schraubdeckel extends Verschluss{}
Definieren Sie in Java eine Klasse Flasche, die per Typparameter nur die Füllung mit einem Typ Getränk, sowie nur eine Form von Verschluss zulässt. Achten Sie auf eine geeignete Kapselung der Attribute.
Flasche sollte ausschließlich im Konstruktor mit Inhalt und Verschluss versehen werden können. Eine Methode oeffnen soll den Verschluss zurück geben, eine Methode leeren ihren Inhalt.
Eine Flasche soll nur einmal geöffnet und geleert werden können, und eine Leerung nur dann möglich sein, wenn die Flasche bereits geöffnet wurde.
Die Klasse Flasche soll sich mit folgendem Beispielaufruf verwenden lasse
Java:
Flasche<Korken,Cola> colaFlasche = new Flasche<Korken,Cola>(new Korken(), new Cola();
Verschluss v = colaFlasche.oeffnen();
Getraenk g = colaFlasche.leeren();
Auch in der Klausur konnte ich diese Aufgabe nicht lösen. Mit der Typsicherheit komme ich nicht besonders gut klar. Das Maximum hierbei war folgendes von mir:
Java:
public class Flasche {
Getraenk inhalt = null;
public void oeffnen(Verschluss v){
}
public Getraenk leeren(){
Getraenk result = inhalt;
inhalt = null;
return result;
}
}
Das ist nicht viel bis gar nichts. Ich wäre wirklich sehr dankbar für eure Hilfe.