Vinnaren i pepparkakshustävlingen!
2008-02-10, 23:28
  #1
Medlem
Jag har ett generaliserande OO-diagram(enbart generalisering), med en superklass bl.a. som har en variabel jag måste använda i en subklass. Hur kan använder jag variabeln från superklassen i subklassen?


public class X2 {
private int A
(osv med get/set metoder) {


public class X1 extends X2 {
private int B;
(saknar construktor)}

public int plussaAplusB (int A, int B) {
Hur gör jag nu?
__________________
Senast redigerad av J_Steinbeck 2008-02-10 kl. 23:33.
Citera
2008-02-10, 23:34
  #2
Medlem
illums avatar
Jag är inte säker på om jag förstår exakt vad ditt problem är, men börja med en "extends", public dinReturnTyp dinOperation(din input) extends dinKlassOvanför.

Edit: ah ok, du använder redan extends.
Citera
2008-02-10, 23:36
  #3
Medlem
kineticss avatar
deklarera variabeln A som protected i klassen X2 så kan du använda den i X1. Om det var det du menade.
Citera
2008-02-10, 23:37
  #4
Medlem
Citat:
Ursprungligen postat av illum
Jag är inte säker på om jag förstår exakt vad ditt problem är, men börja med en "extends", public dinReturnTyp dinOperation(din input) extends dinKlassOvanför.

Edit: ah ok, du använder redan extends.

Jag vill använda variabeln A i subklassen X1:s lilla uträkning, hur gör jag detta? Problematiken ligger i att jag är dum i huvudet
Citera
2008-02-10, 23:39
  #5
Medlem
illums avatar
Citat:
Ursprungligen postat av kinetics
deklarera variabeln A som protected i klassen X2 så kan du använda den i X1. Om det var det du menade.
Som kinetics sa, private innebär att den bara får användas i DENNA klassen. Protected innebär denna klassen eller underklasser.
Citera
2008-02-10, 23:41
  #6
Medlem
Citat:
Ursprungligen postat av illum
Som kinetics sa, private innebär att den bara får användas i DENNA klassen. Protected innebär denna klassen eller underklasser.

Går det inte att hämta variabelns värde genom external method call på get-metoden från superklassen i subklassen? Vi har inte kommit så långt som att använda protected, bara private och public :x
Citera
2008-02-10, 23:52
  #7
Medlem
illums avatar
Citat:
Ursprungligen postat av J_Steinbeck
Går det inte att hämta variabelns värde genom external method call på get-metoden från superklassen i subklassen? Vi har inte kommit så långt som att använda protected, bara private och public :x
Det finns lite olika sätt. Super bland annat.

Super.varabelnamn = nytt värde;

Eller med en vanlig get från superklassen.

Du ska alltså trycka dit

public int plussaAplusB () {
return super.A + B;
}

eller return getA + B;
__________________
Senast redigerad av illum 2008-02-10 kl. 23:55.
Citera
2008-02-11, 01:12
  #8
Medlem
Citat:
Ursprungligen postat av illum
Det finns lite olika sätt. Super bland annat.

Super.varabelnamn = nytt värde;

Eller med en vanlig get från superklassen.

Du ska alltså trycka dit

public int plussaAplusB () {
return super.A + B;
}

eller return getA + B;

Ah, tack så mycket, båda två !
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback