Izpitno vprašanje DIRI2005 1300

Iz MaFiRaWiki

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;
    }
}
Osebna orodja