Izpitno vprašanje DIRI2005 1300
Iz MaFiRaWiki
Različica od 17:16, 11 april 2006 NevenkaZupancic (Pogovor | prispevki) ← Prejšnja različica |
Trenutna različica MatijaLokar (Pogovor | prispevki) Odgovor |
||
Vrstica 1: | Vrstica 1: | ||
- | {{Student|NevenkaZupancic|PSIA}} | ||
- | |||
Predmet [[Dopolnilno izobraževanje iz računalništva in informatike (DIRI)]] | Predmet [[Dopolnilno izobraževanje iz računalništva in informatike (DIRI)]] | ||
Vrstica 9: | Vrstica 7: | ||
=Odgovor= | =Odgovor= | ||
- | Metoda toString() je ena od metod definiranih v javanskem razredu Object. Glavni namen metode je, da vrača niz ki opisuje objekt nad katerim je metoda klicana. Ker vsak javanski razred neposredno ali posredno deduje iz razreda Object je možno klicanje te metode nad vsakim objektom v Javi. Priporočljivo je, da se v vsakem novo definiranem razredu prekrije metodo toString() podedovano iz razreda Object. Ta naj bi vračala čimbolj smiseln in zgoščen opis za določen objekt. | + | Metoda '''toString()''' je ena od metod definiranih v javanskem razredu Object. Glavni namen metode je, da vrača niz, ki opisuje [[objekt]] nad katerim je metoda klicana. Ker vsak javanski razred neposredno ali posredno deduje iz razreda Object, je možno klicanje te metode nad vsakim objektom v [[Java|Javi]]. Priporočljivo je, da v vsakem novo definiranem razredu prekrijemo metodo '''toString()''' podedovano iz razreda Object. Ta naj bi vračala čimbolj smiseln in zgoščen opis za določen [[objekt]]. |
- | Za razred Object metoda vrača niz, sestavljen iz imena razreda, katerega instanca je določen objekt. Temu sledi znak '@' in šestnajstiška vrednost za konkreten objekt. | + | |
- | Pri programiranju novih razredov prekrijemo metodo toString() in napišemo takšno, ki bo vračala čimbolj koristne podatke za konretni razred. Če bi npr. pisali razred Točka3D, bi bilo smiselno prekriti metodo toString() tako, da bi vračala koordinate treh točk v prostoru. | + | Pri programiranju novih razredov prekrijemo metodo '''toString()''' in napišemo takšno, ki bo vračala čimbolj koristne podatke za konkretni razred. Če bi pisali razred Tocka3D, bi bilo smiselno prekriti metodo tako, da bi vračala niz z vrednostmi treh koordinat točke v prostoru. |
'''Java''' | '''Java''' | ||
- | public class Tocka3D { | + | '''public class''' Tocka3D { |
private int x; | private int x; | ||
private int y; | private int y; | ||
private int z; | private int z; | ||
- | + | ||
- | public String toString() { | + | ... |
- | return "(" + x + ", " + y + ", " + z + ")"; | + | // Konstruktor(ji) in ostale metode |
+ | ... | ||
+ | |||
+ | // Prekrita metoda toString() vrne opis za objekt tipa Tocka3D | ||
+ | '''public String''' toString() { | ||
+ | '''return''' "(" + x + ", " + y + ", " + z + ")"; | ||
} | } | ||
} | } | ||
+ | Še en podoben zgled, kako uporabna je lahko metoda '''toString()''' bi lahko bil primer razreda Ulomek. Če bi klicali metodo nad objektom tipa Ulomek bi bilo smiselno, da bi nam vrnila čimbolj okrajšan zapis ulomka, glede na števec in imenovalec. | ||
- | + | '''Java''' | |
+ | '''public class''' Ulomek { | ||
+ | private int stevec; | ||
+ | private int imenovalec; | ||
+ | |||
+ | ... | ||
+ | // Konstruktor(ji) in ostale metode | ||
+ | ... | ||
+ | |||
+ | // Prekrita metoda toString() vrne opis za objekt tipa Ulomek | ||
+ | '''public String''' toString() { | ||
+ | '''if''' (stevec == imenovalec) '''return''' "1"; | ||
+ | '''else if''' (imenovalec == 1) '''return''' stevec+""; | ||
+ | ... | ||
+ | '''else return''' stevec + "/" + imenovalec; | ||
+ | } | ||
+ | } | ||
[[Kategorija:Izpitno vprašanje]] | [[Kategorija:Izpitno vprašanje]] | ||
[[Kategorija:Dopolnilno izobraževanje iz računalništva in informatike (UL-FMF)]] | [[Kategorija:Dopolnilno izobraževanje iz računalništva in informatike (UL-FMF)]] |
Trenutna različica
Predmet Dopolnilno izobraževanje iz računalništva in informatike (DIRI)
Vprašanje
Kaj je metoda toString()? Kdaj se uporabi? Navedi nekaj primerov uporabe!
Odgovor
Metoda toString() je ena od metod definiranih v javanskem razredu Object. Glavni namen metode je, da vrača niz, ki opisuje objekt nad katerim je metoda klicana. Ker vsak javanski razred neposredno ali posredno deduje iz razreda Object, je možno klicanje te metode nad vsakim objektom v Javi. Priporočljivo je, da v vsakem novo definiranem razredu prekrijemo metodo toString() podedovano iz razreda Object. Ta naj bi vračala čimbolj smiseln in zgoščen opis za določen objekt.
Pri programiranju novih razredov prekrijemo metodo toString() in napišemo takšno, ki bo vračala čimbolj koristne podatke za konkretni razred. Če bi pisali razred Tocka3D, bi bilo smiselno prekriti metodo tako, da bi vračala niz z vrednostmi treh koordinat točke v prostoru.
Java
public class Tocka3D { private int x; private int y; private int z; ... // Konstruktor(ji) in ostale metode ... // Prekrita metoda toString() vrne opis za objekt tipa Tocka3D public String toString() { return "(" + x + ", " + y + ", " + z + ")"; } }
Še en podoben zgled, kako uporabna je lahko metoda toString() bi lahko bil primer razreda Ulomek. Če bi klicali metodo nad objektom tipa Ulomek bi bilo smiselno, da bi nam vrnila čimbolj okrajšan zapis ulomka, glede na števec in imenovalec.
Java
public class Ulomek { private int stevec; private int imenovalec; ... // Konstruktor(ji) in ostale metode ... // Prekrita metoda toString() vrne opis za objekt tipa Ulomek public String toString() { if (stevec == imenovalec) return "1"; else if (imenovalec == 1) return stevec+""; ... else return stevec + "/" + imenovalec; } }