Guten Abend,
ich bin im ersten Semester Informatik und wir fangen gerade erst an mit OOP.
Als Beispiel soll eine Familie modelliert werden. Die wird über's Semester immer komplexer.
Im Moment haben wir eine Klasse Baby und eine Klasse Mutter.
Baby und Mutter bekommen beide eine Instanzvariable "name". Diese wird durch einen Übergabeparameter im Konstruktor der Klasse gesetzt. (Was bedeutet das genau?) Zusätzlich bekommt das Baby die Variable "hungrig". Das Baby ist standardmäßig hungrig.
Die Mutter kann das Baby füttern. Wenn das Baby gefüttert ist, ist es nicht mehr hungrig.
Die Mutter kann das Baby wecken und spricht dabei das Baby mit seinem Namen an.
Insgesamt hat die Mutter drei Babys und sie kann jedes Baby füttern und wecken.
Der obige Text dient der Vorarbeit zu dieser Aufgabe:
Außerdem hab ich noch die Hinweise, dass der Name der Babys über die getName()-Methode bereitgesetllt wird und ich die setHungrig()-Methode brauchen werde, damit die Mutter den Hungerzustand ändern kann.
Ich verstehe auch nicht den 2. Teil der Aufgabe. Was bedeutet "instanziieren" genau? Was muss ich hier machen? Ist es das, was ich getan habe?
Ich bin leicht überfordert mit dieser Aufgabe. 😟
Meine Überlegungen bisher:
[CODE lang="java" title="Klasse Baby"]public class Baby {
private String name;
private boolean hungrig = true;
public Baby(String name) {
this.name = name;
Baby jason = new Baby("Jason");
Baby jeremy = new Baby("Jeremy");
Baby jacqueline = new Baby("Jacqueline");
}
public void setHungrig(boolean hungrig) {
this.hungrig = false;
}
public String getName(String name) {
return name;
}
}[/CODE]
und:
[CODE lang="java" title="Klasse Mutter"]
public class Mutter {
private String name;
public Mutter(String name) {
this.name = name;
}
public void fuettern(){
}
public void weckeBaby() {
}
public static void main(String[] args) {
//ein Objekt der Klasse Mutter erzeugen, um die Mutter Mandy zu nennen:
Mutter name = new Mutter("Mandy");
System.out.println("Name der Mutter: " + name);
}
}[/CODE]
Wie ihr wahrscheinlich hier schon seht, druckt mir Sysout nicht das aus, was ich will. Denn ich hätte gern den Namen ausgedruckt, aber was mir angezeigt wird ist die Referenz, also packagename.Klassenname@vieleZahlen.
Ich habe das Gefühl, etwas grundsätzliches falsch verstanden zu haben. Support in der Vorlesung ist schwierig, wir haben reines Onlinesemester und in der Sprechstunde bin ich bisher noch nie dran gekommen, weil so viele vor mir schon im Sprachkanal waren.
Vielen Dank für eure Hilfe!
ich bin im ersten Semester Informatik und wir fangen gerade erst an mit OOP.
Als Beispiel soll eine Familie modelliert werden. Die wird über's Semester immer komplexer.
Im Moment haben wir eine Klasse Baby und eine Klasse Mutter.
Baby und Mutter bekommen beide eine Instanzvariable "name". Diese wird durch einen Übergabeparameter im Konstruktor der Klasse gesetzt. (Was bedeutet das genau?) Zusätzlich bekommt das Baby die Variable "hungrig". Das Baby ist standardmäßig hungrig.
Die Mutter kann das Baby füttern. Wenn das Baby gefüttert ist, ist es nicht mehr hungrig.
Die Mutter kann das Baby wecken und spricht dabei das Baby mit seinem Namen an.
Insgesamt hat die Mutter drei Babys und sie kann jedes Baby füttern und wecken.
Der obige Text dient der Vorarbeit zu dieser Aufgabe:
Erstellen Sie nun in einer main-Methode die Mutter "Mandy", indem Sie ein Objekt der Klasse "Mutter" erzeugen. Anschließen instanziieren Sie die Klasse "Baby" durch die drei Babys "Jason", "Jeremy" und "Jacqueline".
Außerdem hab ich noch die Hinweise, dass der Name der Babys über die getName()-Methode bereitgesetllt wird und ich die setHungrig()-Methode brauchen werde, damit die Mutter den Hungerzustand ändern kann.
Ich verstehe auch nicht den 2. Teil der Aufgabe. Was bedeutet "instanziieren" genau? Was muss ich hier machen? Ist es das, was ich getan habe?
Ich bin leicht überfordert mit dieser Aufgabe. 😟
Meine Überlegungen bisher:
[CODE lang="java" title="Klasse Baby"]public class Baby {
private String name;
private boolean hungrig = true;
public Baby(String name) {
this.name = name;
Baby jason = new Baby("Jason");
Baby jeremy = new Baby("Jeremy");
Baby jacqueline = new Baby("Jacqueline");
}
public void setHungrig(boolean hungrig) {
this.hungrig = false;
}
public String getName(String name) {
return name;
}
}[/CODE]
und:
[CODE lang="java" title="Klasse Mutter"]
public class Mutter {
private String name;
public Mutter(String name) {
this.name = name;
}
public void fuettern(){
}
public void weckeBaby() {
}
public static void main(String[] args) {
//ein Objekt der Klasse Mutter erzeugen, um die Mutter Mandy zu nennen:
Mutter name = new Mutter("Mandy");
System.out.println("Name der Mutter: " + name);
}
}[/CODE]
Wie ihr wahrscheinlich hier schon seht, druckt mir Sysout nicht das aus, was ich will. Denn ich hätte gern den Namen ausgedruckt, aber was mir angezeigt wird ist die Referenz, also packagename.Klassenname@vieleZahlen.
Ich habe das Gefühl, etwas grundsätzliches falsch verstanden zu haben. Support in der Vorlesung ist schwierig, wir haben reines Onlinesemester und in der Sprechstunde bin ich bisher noch nie dran gekommen, weil so viele vor mir schon im Sprachkanal waren.
Vielen Dank für eure Hilfe!