Gå til innhold

Anbefalte innlegg

Skrevet

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;
           ^

Videoannonse
Annonse
Skrevet

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.

Skrevet

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;
}
}

Skrevet
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.

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...