- mOtz^ - Skrevet 23. januar 2009 Del Skrevet 23. januar 2009 Er det mulig å sette opp pekere mellom objekter fra to forskjellige klasser? Kanskje ett dårlig eksempel, men jeg får feilmelding på denne: class ABC{} class DEF{} main: ABC a = new ABC("Tester"); DEF b = new DEF("Tata"); a = b; ---- found : DEF required: ABC a = b; ^ Lenke til kommentar
steingrim Skrevet 23. januar 2009 Del Skrevet 23. januar 2009 I ditt tilfelle er det ingen relasjon mellom ABC og DEF, og da vil dette ikke være mulig, noe som er litt av poenget med statisk typing. Men om DEF hadde vært en subklasse av ABC hadde dette gått fint. Lenke til kommentar
Cyberfrog Skrevet 23. januar 2009 Del Skrevet 23. januar 2009 Kan også bruke kontrakter (interfaces). Her er et (kjapt og teit) eksempel: class Duuude { public static void main(String[] args) { GHI a = new ABC("Tester"); GHI b = new DEF("Tata"); a = b; System.out.println(a.msg()); } } interface GHI { public String msg(); } class ABC implements GHI { private String msg; ABC(String s) { msg = s; } public String msg() { return msg; } } class DEF implements GHI { private String msg; DEF(String s) { msg = s; } public String msg() { return msg; } } Lenke til kommentar
pgdx Skrevet 23. januar 2009 Del Skrevet 23. januar 2009 Er det mulig å sette opp pekere mellom objekter fra to forskjellige klasser?Nja, din a er av typen ABC, og kan derfor kun settes til ting som også er ABC. Ting som er ABC ville i dette tilfellet kun vært subklasser, altså: class ABCD extends ABC { int[] test; } ... ABC a = new ABC(); a = new ABCD(); Men, ja, det var et dårlig eksempel. Hvis du har noe spesifikt du lurer på, oppgave/problem, kan du jo prøve å forklare bedre. Hvis du bare lurer, så kan du prøve å lese om arv. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå