Avatar billede thomaz Nybegynder
29. maj 2001 - 17:36 Der er 4 kommentarer og
2 løsninger

this reference..........

kan man ikke caste en this reference over i et String Objekt???

jeg har en klasse A som skal tilmelde sig en klasse B.    A\'s this reference skal modtages i B\'s constructor!!!

hvordan kommer B\'s constructor til at se ud??

og hvordan kommer metodekaldet på A, til at se ud??
Avatar billede aligncenter Nybegynder
29. maj 2001 - 23:39 #1
this referer altid til klassen selv. Den kan ikke bruges i en association reference.
Avatar billede logical Nybegynder
30. maj 2001 - 10:08 #2
Hvis jeg forstår dig ret er svaret:

class B {
  private A a;

  public B(A a) {
    this.a = a;
  }
}

class A {

void methodToCreateB() {
  B b = new B(this);
}
}
Avatar billede logical Nybegynder
30. maj 2001 - 10:17 #3
Du kan iøvrigt forestille dig, at \"this\" referencen i et objekt svarer til en variabel af samme type som objektet. Dvs i klasse A vil this være \"erklæret\" som:
  private A this;  // Det er selvfølgelig nonsense at skrive selv, men som illustration

this referencen kan således bruges i klassen og ikke andre steder. Men derfor er den også fin nok, hvis eksempelvis B skal bruge en A.
Avatar billede thomaz Nybegynder
30. maj 2001 - 20:59 #4
takker hvad nu vis jeg skal bruge denne reference a til at sende til en metode i f.eks klassen A.
Jeg har prøvet at skrive a.metodenNavn(), men compileren melder fejl.

Avatar billede logical Nybegynder
30. maj 2001 - 21:39 #5
Det her skulle \"do the trick\":

class B {
  private A a;

  public B(A a) {
    this.a = a;
  }

  public someMethodWhichInvokeA() {
    a.performMagic();
  }
}

class A {

public void performMagic(){
  ....
}

void methodToCreateB() {
  B b = new B(this);
}
}

Der er sådan set ikke noget i vejen med det, du skriver, men det kan være et spørgsmål om tilgængelighed, f.eks. hvis din metode er private i A, så går det ikke, men hvis du giver en compilerfejl beskrivelse, bliver det lidt nemmere at forstå
Avatar billede thomaz Nybegynder
30. maj 2001 - 22:03 #6
Jeg har fundet fejlen, Pinligt. Havde glemt at metoden jeg kalder har en String som indparametre. Og kalde ku metoden med a.metode()
og ikke a.metode(\" a\")

Takker dog alligevel for hjælpen :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester