|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
[JAVA] Le interfaccie si perdono nei Vector
esercizio semplice semplice...
una semplice classe che implementa una interfaccia Codice:
public class PallinoNome implements PincoPallino {
private String pallino;
public PallinoNome() {
this.setPallino("pallino");
}
@Override
public String getPallino() {
return this.pallino;
}
@Override
public void setPallino(String pallino) {
this.pallino = pallino;
}
}
Codice:
public interface PincoPallino {
public String getPallino();
public void setPallino(String pallino);
}
e il main che "dovrebbe" funzionare Codice:
import java.util.Vector;
public class StarterClass {
public static void main(String[] args) {
Vector<PallinoNome> pinchipallini = new Vector<PallinoNome>();
aggiungiPallino(pinchipallini);
}
private static void aggiungiPallino(Vector<PincoPallino> pinchipallini) {
// TODO Auto-generated method stub
}
}
Codice:
The method aggiungiPallino(Vector<PincoPallino>) in the type StarterClass is not applicable for the arguments (Vector<PallinoNome>) StarterClass.java /testCase/src/proveStrane line 12 Java Problem
__________________
My gaming placement |
|
|
|
|
|
#2 | |
|
Member
Iscritto dal: Sep 2011
Città: Londra
Messaggi: 167
|
Il problema è dovuto al fatto che il metodo si aspetta un oggetto di tipo
Codice:
Vector<PincoPallino> Codice:
Vector<PallinoNome> È vero che tra PincoPallino e PallinoNome c'è un rapporto di ereditarietà, ma questo non vale per i vettori che le utilizzano. Quote:
|
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Ok, il problema l'avevo capito che era quello, solo che volevo una spiegazione più terra terra.
con le liste quindi dovrebbe funzionare?
__________________
My gaming placement |
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Sep 2011
Città: Londra
Messaggi: 167
|
No, anche con le liste avresti lo stesso problema.
Prova a dichiarare aggiungiPallino in questo modo Codice:
aggiungiPallino(Vector<? extends PincoPallino> pinchipallini) |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
con questa implementazione è possibile bypassare il problema...
Codice:
import java.util.Vector;
public class StarterClass {
public static void main(String[] args) {
Vector<PallinoNome> pinchipallini = new Vector<PallinoNome>();
aggiungiPallino(pinchipallini);
}
private static <E extends PincoPallino> void aggiungiPallino(
Vector<E> pinchipallini) {
}
}
__________________
My gaming placement |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Una risorsa esaustiva
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
|
#8 | ||
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
Quote:
__________________
My gaming placement |
||
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:04.




















