Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

hva er feil her

0 views
Skip to first unread message

eddie

unread,
Sep 16, 2007, 9:04:46 AM9/16/07
to
skjønner ikke hva som er feil med denne klassen. trenger hjelp

Rullestoltest.java

Rune Henning Johansen

unread,
Sep 16, 2007, 9:16:57 AM9/16/07
to
eddie satt og skrev:

> skjønner ikke hva som er feil med denne klassen. trenger hjelp

Her deklarerer du to private variabler:

private String art;
private int prodar;

Og her prøver du å lese dem:

System.out.println ( "Denne stolen er produsert i"
+ rullestol1.prodar
+ " og er "
+ rullestol1.art );
System.out.println ( "Denne stolen er produsert i"
+ rullestol2.prodar
+ " og er "
+ rullestol2.art );

Prøv i stedet med:

public String art;
public int prodar;

Du bør også endre navn på rutinen fra:

public void Skrivtype ( String newValue )

Til:

public void art ( String newValue )

Da vil programmet både kunne kompileres og kjøres ;-)

--
Rune H. Johansen, 22253241, 95939001, http://rhj.info/

Are Nybakk

unread,
Oct 12, 2007, 10:33:59 AM10/12/07
to
Rune Henning Johansen wrote:
> eddie satt og skrev:
>
>> skjønner ikke hva som er feil med denne klassen. trenger hjelp
>
> Her deklarerer du to private variabler:
>
> private String art;
> private int prodar;
>
> Og her prøver du å lese dem:
>
> System.out.println ( "Denne stolen er produsert i"
> + rullestol1.prodar
> + " og er "
> + rullestol1.art );
> System.out.println ( "Denne stolen er produsert i"
> + rullestol2.prodar
> + " og er "
> + rullestol2.art );
>
> Prøv i stedet med:
>
> public String art;
> public int prodar;

Generellt er det god praksis å ha variable i en klasse private.

> Du bør også endre navn på rutinen fra:
>
> public void Skrivtype ( String newValue )
>
> Til:
>
> public void art ( String newValue )
>
> Da vil programmet både kunne kompileres og kjøres ;-)
>

Det er vanlig i objektorientert programmering å bruke metoder for å
hente ut og sette private variable. Vanlig navngivning i Java er da
henholdsvis getVariabelnavn() og setVariabelnavn, altså i ditt tilefelle
for variabelen art (tilsvarende for prodar):

public void setArt(String newValue) {
art = newValue;
}

public String getArt() {
return art;
}

Da setter du verdier slik:

rullestol1.setArt("Elektrisk");

Og får utskriften slik:

System.out.println("........"+rullestol1.getArt());

Ikke gi opp ;)

Rune Henning Johansen

unread,
Oct 23, 2007, 3:25:10 AM10/23/07
to
Are Nybakk satt og skrev:

> Generellt er det god praksis å ha variable i en klasse private.

Enig!

> Det er vanlig i objektorientert programmering å bruke metoder for å

> hente ut og sette private variable. ...

Enig!

> System.out.println("........"+rullestol1.getArt());

Eventuelt i stedet for å hente ut all informasjon fra utsiden:

System.out.println ( rullestol1.Informasjon() );

Eller:

rullestol1.SkrivInformasjon ( System.out );

På den måten kan kan slippe masse get-rutiner. Men om det er smart, avhenger av
så mye.

> Ikke gi opp ;)

Enig :-)

Are Nybakk

unread,
Oct 24, 2007, 5:53:42 PM10/24/07
to
Rune Henning Johansen wrote:
> Are Nybakk satt og skrev:
>
>> Generellt er det god praksis å ha variable i en klasse private.
>
> Enig!
>
>> Det er vanlig i objektorientert programmering å bruke metoder for å
>> hente ut og sette private variable. ...
>
> Enig!
>
>> System.out.println("........"+rullestol1.getArt());
>
> Eventuelt i stedet for å hente ut all informasjon fra utsiden:
>
> System.out.println ( rullestol1.Informasjon() );
>
> Eller:
>
> rullestol1.SkrivInformasjon ( System.out );
>
> På den måten kan kan slippe masse get-rutiner. Men om det er smart,
> avhenger av så mye.

Og, dersom man ønsker å skrive ut all informasjonen i objektet, kan man
lage en metode "public String toString()" som muliggjør bruk av
objektreferanse direkte i println - "System.out.println(rullestol1);"
God praksis å ha med en slik metode i alle objekter og spesielt nyttig i
dataobjekter.

=)

0 new messages