/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Om variable...
Fra : Ukendt


Dato : 13-11-03 11:46

Hej. Til at starte med må jeg lige nævne, at jeg er begyndt at lære java for
1½ måned siden, så det er ikke alverden jeg kan... endnu.
Men; er det muligt at have en variabel der kan bruges på tværs af klasser?
så den kan ændres fra klasse 1 og klasse 2 etc.?
Eller skal der helt andre finurligheder til...

Mvh
Ø



 
 
Christian Andersen (13-11-2003)
Kommentar
Fra : Christian Andersen


Dato : 13-11-03 12:13

Øistein Wind Willassen wrote:

> Hej. Til at starte med må jeg lige nævne, at jeg er begyndt at lære java for
> 1½ måned siden, så det er ikke alverden jeg kan... endnu.
> Men; er det muligt at have en variabel der kan bruges på tværs af klasser?
> så den kan ændres fra klasse 1 og klasse 2 etc.?

Jow ... Nu er jeg ikke helt sikker på hvad du mener, men se her:

public class X {

private int f;

public X(int f) {

this.f = f;
}

public void setF(int f) {
this.f = f;
}

public int getF() {
return f;
}
}

Dermed kan man både se og ændre værdien af variablen f ved hjælp af de
public metoder getF() og setF(). Det er en meget nyttig måde at gøre det
på.

--
Party time, excellent, wiuuuu, wiuuuu, wiuuuuuuu!!!

Bertel Lund Hansen (13-11-2003)
Kommentar
Fra : Bertel Lund Hansen


Dato : 13-11-03 12:20

"Øistein Wind Willassen" <oistein(dot)wind(snabel -
a)gmx(dot)net> skrev:

>Men; er det muligt at have en variabel der kan bruges på tværs af klasser?

Ja, det kan godt strikkes sammen, men det er ikke tilrådeligt.
Det er netop den slags opførsel man gerne vil undgå ved at pakke
tingene ind i klasser.

Prøv at beskrive dit problem. Det er sandsynligvis en designfejl
der gør at det ønske er opstået.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Ukendt (13-11-2003)
Kommentar
Fra : Ukendt


Dato : 13-11-03 12:34

> Prøv at beskrive dit problem. Det er sandsynligvis en designfejl
> der gør at det ønske er opstået.

Jeg er ved at lave et aktiespil, og har derfor (indtil videre) 3 klasser:
Aktie-klassen; her oprettes, købes, sælges etc. aktier
Lån-klassen; her lånes, tilbagebetales penge etc.
Spil-klassen; her køres spillet.

Mit problem er nu, at når jeg køber en aktie i aktieklassen skal der trækkes
et beløb fra pengebeholdningen i lån-klassen.

Jeg går i tænkeboks...

Mvh
Ø



Søren Gørtz Olesen (13-11-2003)
Kommentar
Fra : Søren Gørtz Olesen


Dato : 13-11-03 12:52

Hejsa..

> Mit problem er nu, at når jeg køber en aktie i aktieklassen skal der
trækkes
> et beløb fra pengebeholdningen i lån-klassen.

Du kunne lave en metode i "Lån-klassen" hvor du kunne trække et beløb fra en
nuværende saldo - og kalde den i "Aktie-klassen".

/Søren



Christian Andersen (13-11-2003)
Kommentar
Fra : Christian Andersen


Dato : 13-11-03 12:56

Øistein Wind Willassen wrote:

> Mit problem er nu, at når jeg køber en aktie i aktieklassen skal der trækkes
> et beløb fra pengebeholdningen i lån-klassen.
>
> Jeg går i tænkeboks...

Brug getter- og settermetoder som jeg foreslår.

--
Party time, excellent, wiuuuu, wiuuuu, wiuuuuuuu!!!

Ukendt (13-11-2003)
Kommentar
Fra : Ukendt


Dato : 13-11-03 13:33

> Brug getter- og settermetoder som jeg foreslår.

Jeps... det har jeg ogå tænkt mig. Det er ret smart egentlig.

Tak for hjælpen alle sammen!

Mvh
Ø



Peter Lind (13-11-2003)
Kommentar
Fra : Peter Lind


Dato : 13-11-03 14:48

Øistein Wind Willassen wrote:
>> Prøv at beskrive dit problem. Det er sandsynligvis en designfejl
>> der gør at det ønske er opstået.
>
> Jeg er ved at lave et aktiespil, og har derfor (indtil videre) 3
> klasser: Aktie-klassen; her oprettes, købes, sælges etc. aktier
> Lån-klassen; her lånes, tilbagebetales penge etc.
> Spil-klassen; her køres spillet.
>
> Mit problem er nu, at når jeg køber en aktie i aktieklassen skal der
> trækkes et beløb fra pengebeholdningen i lån-klassen.

Det lyder ikke helt så objektorienteret som det gerne måtte være, det lyder
snarere funktionsorienteret.

Hvis der er flere spillere ad gangen, så skal du også have en Spillerklasse,
og ihvertfald en Aktieklasse, altså en klasse for en enkelt aktie med navn,
værdi etc.
Hvis aktierne skal handles et bestemt sted, altså der skal holdes styr på
kurser og hvor mange der er til salg etc. så vil det være nærliggende at
kalde denne klasse for en Børs.

Hvis en Spiller køber en Aktie på Børs'en, så skylder denne Spiller Børs'en
penge.
Dvs at hver spiller har sin egen konto.
Hvis denne konto ikke må være negativ, så kan Spiller'en gå i Bank'en (din
nuværende Lån-klasse) og låne penge.
Måske er det også en god ide at lave en Konto klasse, som hver spiller kan
bruge. Man kan næsten aldrig få for mange klasser


Dvs at en Spiller kommer til at indeholde nogle af disse attributter og
metoder:

public class Spiller {
private Konto konto;

public void købAktie( Børs børs, Aktie aktie )
{
børs.købAktie( aktie );
konto.udtræk( aktie.getPålydendeværdi() );
}

public void sælgAktie( Børs børs, Aktie aktie )
{
int salgspris = børs.sælgAktie( aktie );
konto.indsæt( salgspris );
}

public void lånPenge( Bank bank, int beløb )
{
bank.opretLån( this, beløb );
konto.indsæt( beløb );
}

}

Børs klassen skal holde styr på de forskellige aktiers værdier, og er
egentlig ligeglad med hvem der køber og sælger dem.
Bank klassen derimod opretter en lånekonto for hver enkelt spiller, og
derfor er det nødvendigt at man sender Spiller objektet med til banken.

Bank kan se således ud:

public class Bank {
// et map over spillere og deres lånkonto
private java.util.Map kontoplan;

public Bank ()
{
kontoplan = new java.util.HashMap();
}

public void opretLån( Spiller spiller, int beløb )
{
// find spillerens konto
Konto konto = (Konto)kontoplan.get( spiller );

// hvis denne spiller ikke har lånt penge før, opret en ny konto
if( konto==null)
{
konto = new Konto();
kontoplan.put( spiller, konto );
}

// lån penge
konto.udtræk( beløb );
}

}

Hvorvidt spilleren skal holde styr på sine aktier eller om aktierne skal
holde styr på hvem der ejer dem, er helt op til dig.

> Jeg går i tænkeboks...

Det er heller ikke et helt simpelt projekt du er gået i gang med.

Håber du kunne bruge ovenstående til noget.

--
Mvh
Peter Lind



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste