Return-Typ

S@muel
Erstie
Erstie
Beiträge: 16
Registriert: 11. Dez 2010 02:30

Return-Typ

Beitrag von S@muel » 10. Jun 2011 13:11

Hi an alle, die schon dran sind,

ich weiss nicht, ob ich es wissen müsste aber frage trotzdem. Darf der Return-Typ einer Methode der dynamischer sein, wenn für das Zurückzugebene-Objekt der statischer vom dynamischer-Typ unterschiedlich ist?

Samuel
Es macht echt Spaß!

Benutzeravatar
Owyn
BSc Spammer
BSc Spammer
Beiträge: 1012
Registriert: 5. Sep 2005 21:53
Wohnort: Rheingau

Re: Dokumentation

Beitrag von Owyn » 10. Jun 2011 13:22

Ich verstehe leider Ihre Frage nicht.

Ich nehme aber an, sie bezieht sich auf die Klasse Node. Die (statischen) Rückgabetypen der Methoden sind durch das Interface INode vorgegeben. Einen dynamischen Typ gibt es ja nur, wenn ein Objekt erzeugt wurde, und der ist in diesem Fall auch unterschiedlich vom statischen Typ (geht gar nicht anders).

Gruß,
Christian Heinig
All those who believe in psycho-kinesis, raise my hand.
(Steven Wright)

S@muel
Erstie
Erstie
Beiträge: 16
Registriert: 11. Dez 2010 02:30

Re: Return-Typ

Beitrag von S@muel » 10. Jun 2011 13:35

Hallo,

ich nehme mal ein Beispiel. Ist die untere Methode erlaubt (richtig) ?

Code: Alles auswählen

public Robot makeRobot() {
    UrRobot test = new Robot(1,1,0,North);
    return test;
}

Benutzeravatar
Owyn
BSc Spammer
BSc Spammer
Beiträge: 1012
Registriert: 5. Sep 2005 21:53
Wohnort: Rheingau

Re: Return-Typ

Beitrag von Owyn » 10. Jun 2011 13:55

Nein, die funktioniert so nicht. Der dynamische Typ der Rückgabe muss entweder gleich dem Rückgabetyp sein oder davon abgeleitet.

Was geht:

Code: Alles auswählen

public UrRobot makeRobot() {
    UrRobot test = new Robot(1,1,0,North);
    return test;
}
Oder auch:

Code: Alles auswählen

public UrRobot makeRobot() {
    Robot test = new Robot(1,1,0,North);
    return test;
}
Gruß,
Christian Heinig
All those who believe in psycho-kinesis, raise my hand.
(Steven Wright)

S@muel
Erstie
Erstie
Beiträge: 16
Registriert: 11. Dez 2010 02:30

Re: Return-Typ

Beitrag von S@muel » 10. Jun 2011 14:36

Ist mir nicht ganz klar geworden aber ich komme noch später drauf, jetzt gibt es schon was anderes.
s. nächstes Thema
Samuel

Timo
Neuling
Neuling
Beiträge: 9
Registriert: 24. Mär 2010 22:09

Re: Dokumentation

Beitrag von Timo » 10. Jun 2011 14:46

Owyn hat geschrieben:Ich verstehe leider Ihre Frage nicht.
...Die (statischen) Rückgabetypen der Methoden sind durch das Interface INode vorgegeben...
Sind die Parameter auch durch das Interface vorgegeben? (bei der Methode merge)

Benutzeravatar
Owyn
BSc Spammer
BSc Spammer
Beiträge: 1012
Registriert: 5. Sep 2005 21:53
Wohnort: Rheingau

Re: Dokumentation

Beitrag von Owyn » 10. Jun 2011 14:52

Timo hat geschrieben:
Owyn hat geschrieben:...Die (statischen) Rückgabetypen der Methoden sind durch das Interface INode vorgegeben...
Sind die Parameter auch durch das Interface vorgegeben? (bei der Methode merge)
Ja. Das Interface legt die komplette Signatur der Methoden fest.

Gruß,
Christian Heinig
All those who believe in psycho-kinesis, raise my hand.
(Steven Wright)

Timo
Neuling
Neuling
Beiträge: 9
Registriert: 24. Mär 2010 22:09

Re: Return-Typ

Beitrag von Timo » 10. Jun 2011 15:03

Hmm muss ich in meinem Konstruktor als Parameter dann auch einen INode haben?


edit: hat sich erledigt

Antworten

Zurück zu „Archiv“