PDA

View Full Version : [Java] problema polimorfismo


Cory
25-03-2009, 17:03
Ciao a tutti, ogni tanto torno a rompervi i coglioni :D
Ho un problema con Java: ho creato una classe Point e una classe NamedPoint che estende Point. Tuttavia quando cerco di allocare una nuova classe NamedPoint il compilatore mi da errore e non capisco perchè!

Nello specifico:

class Point {
int x;
int y;
public String toString(){
return ("(" + x + "," + y+ ")");
}
class NamedPoint extends Point{

String name;
public String toString(){
return (name +"(" + x + "," + y+ ")");
}
}

}
public class Programma2{
public static void main(String args[]){
Point x=new Point();
System.out.println(x.toString());
Point y=new NamedPoint();

}
}

il problema è che mi da errore su Point y=new NamedPoint(); e non capisco dov'è l'inghippo! il costruttore lo eredita direttamente da Point e lo crea in automatico il sistema no? Boooh, sono perplesso..

^TiGeRShArK^
25-03-2009, 17:30
se non ricordo male, e non mi sto confondendo con qualche altro linguaggio, il costruttore di default vale solo per la classe padre, ma non puoi usarlo dalle classi figlie...
crea un costruttore nella classe padre e tutto dovrebbe essere a posto :p

wingman87
25-03-2009, 17:41
Avendo indentato male non si vede ma NamedPoint è una classe interna, puoi instanziarne un oggetto solo tramite un oggetto Point.
Per maggiori informazioni puoi leggere qui: LINK (http://java.sun.com/docs/books/tutorial/java/javaOO/nested.html)

^TiGeRShArK^
25-03-2009, 17:42
Avendo indentato male non si vede ma NamedPoint è una classe interna, puoi instanziarne un oggetto solo tramite un oggetto Point.
Per maggiori informazioni puoi leggere qui: LINK (http://java.sun.com/docs/books/tutorial/java/javaOO/nested.html)

ah non ci avevo fatto caso all'indentazione in effetti.. :stordita:

Cory
25-03-2009, 17:54
:muro: :muro: :muro:

scusate, si è trattato di un banalissimo errore di distrazione!! la classe NamedPoint non è interna! ho solo dimenticato una parentesi grafa!! :cry:

e come pensavo il costruttore se lo fa da solo il sistema!!

grazie comunque sel supporto :P

PGI-Bis
25-03-2009, 19:13
[edit, post sbagliato]