PoiZz3n
Cadet 2nd Year
- Registriert
- Sep. 2014
- Beiträge
- 20
Liebes Forum,
ich habe die folgende offene Datentypklasse:
und eine Oberklasse:
sowie eine Unterklasse:
Nun möchte ich eine Instanz der Klasse Fussballspieler erzeugen, jedoch ist mir nicht klar in welchem Format ich einen Wert des Datentypes Datum meinem geerbten Konstruktor übergeben kann. Falls bereits ein Datum (Objekt) per explizitem Konstruktor erzeugt wurde, funktioniert das ganze, da ich einfach das Objekt als Parameter übergeben kann. Es ist gefordert, dass kein expliziter Konstruktor für das Datum definiert werden soll.
Ich habe zunächst folgendes versucht:
was mit folgender Meldung abgelehnt wird:
Die Meldung besagt doch prinzipiell, dass der Typ der Argumente nicht passt? Es wird anstatt ein Datum ein int, String und noch ein int übergeben. Meine Frage ist nun, wie ich ein Argument des Types Datum angeben kann, ohne ein Objekt per (explizitem) Konstruktor zu erzeugen bzw. ob das überhaupt möglich ist?
Liebe Grüße
ich habe die folgende offene Datentypklasse:
Code:
public class Datum
{
public int tag;
public String monat;
public int jahr;
}
und eine Oberklasse:
Code:
public abstract class Sportler
{
protected String name;
protected Datum geburtsdatum;
public Sportler(String name, Datum geburtsdatum)
{
this.name = name;
this.geburtsdatum = geburtsdatum;
}
public void istTeammitglied()
{
}
public String toString()
{
String res = this.name + " " + this.geburtsdatum;
return res;
}
}
sowie eine Unterklasse:
Code:
public class Fussballspieler extends Sportler
{
public Fussballspieler(String name, Datum geburtsdatum)
{
super(name, geburtsdatum);
}
}
Nun möchte ich eine Instanz der Klasse Fussballspieler erzeugen, jedoch ist mir nicht klar in welchem Format ich einen Wert des Datentypes Datum meinem geerbten Konstruktor übergeben kann. Falls bereits ein Datum (Objekt) per explizitem Konstruktor erzeugt wurde, funktioniert das ganze, da ich einfach das Objekt als Parameter übergeben kann. Es ist gefordert, dass kein expliziter Konstruktor für das Datum definiert werden soll.
Ich habe zunächst folgendes versucht:
Code:
public static void main(String[] args)
{
Fussballspieler test = new Fussballspieler("Thomas Mueller", 24, "August", 1990);
}
was mit folgender Meldung abgelehnt wird:
constructor Fussballspieler in class Fussballspieler cannot be applied to given types;
required : java.lang.String,Datum
found: java.lang.String, int, java.lang.String, int
reason: actual and formal argument lists differ in length
Die Meldung besagt doch prinzipiell, dass der Typ der Argumente nicht passt? Es wird anstatt ein Datum ein int, String und noch ein int übergeben. Meine Frage ist nun, wie ich ein Argument des Types Datum angeben kann, ohne ein Objekt per (explizitem) Konstruktor zu erzeugen bzw. ob das überhaupt möglich ist?
Liebe Grüße