Tovarna

Iz MaFiRaWiki

GFDL Avtor tega članka je študent/ka EvelinaKudrevičius.

Pripravil/a ga je pri predmetu Računalništvo 2 (FMF PRA).


Kljub temu ste vsi vabljeni k urejanju in popravkom, saj je bistvo wikija ravno v sodelovalnem delu.

Vsebina

Tovarna ali factory method

Tovarna je statična metoda, ki lahko zamenja konstruktor v razredih, kjer želimo natančneje nadzirati tudi postopek vzspostavljanja predmetov. Med drugim nam tudi omogoča, da izdelamo omejeno število predmetov določenega razreda, denimo natančno enega.

Prednosti tovarne pred konstruktorjem

  • Tovarno lahko poimenujemo poljubno, ime konstruktorja pa je natančno določeno, saj je isto kot je ime razreda.
  • Tovarna lahko ustvari predmet, lahko pa vrne sklic na že izdelan predmet.
  • Tovarna lahko vrne predmet drugega podatkovnega tipa, konstruktor pa vedno vrača le predmete razreda, ki mu pripada.

Slabosti tovarne pred konstruktorjem

  • Razredi, ki nimajo dostopnih konstruktorjev, temveč le tovarne, niso primerni za dedovanje.
  • Ker so tovarne poimenovane poljubno, so neprepoznavne v dokumentaciji razreda.

Uporaba tovarn

Tovarne služijo pogosto pretvorbi tipov (na primer nizov v števila). Primer: valueOf(), getInstance()

 
//vzspostavimo predmetni spremenljivki brez eksplicitne rabe konstruktorja
Integer num = Integer.valueOf("1234");
Calendar cal = Calendar.getInstance();
Osebna orodja