Null Object

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

Null Object (česky prázdný objekt) je název pro návrhový vzor, používaný při programování. Nahrazuje prázdný ukazatel NULL a tím se snaží eliminovat problémy s ním spojené.


Účel[editovat | editovat zdroj]

U referenčních proměnných můžeme použít výraz NULL (prázdný ukazatel). Ten se může přetypovat na jakýkoliv referenční typ. Problém může nastat v případě, že před přetypováním a přiřazením objektu se pokusíme na prázdném ukateli zavolit nějakou metodu. Toto volání bude končit chybou (například v jazyce Java vyvoláním výjimky NullPointerException).

Abychom se tohoto problému zbavili, tak můžeme použít kontroly zda je výraz roven prázdnému ukazateli. - Toto ověřování (které se může opakovat mnohokrát v celém programu) můžeme odstranit právě pomocí vzoru Null Object.

Přiřazením objektu Null Object předejdeme chybě s prázdným ukazatelem (nulový objekt je plnohodnotným objektem). A ošetření stavu, že není přiřazen jiný objekt, vyřešíme právě uvnitř návrhového vzoru. Tím předejdeme chybám i duplicitním kódům.


Základní implementace[editovat | editovat zdroj]

Jedním ze způsobů implementace je rozhraní[1]. Postup je následující:

  1. vytvoříme společné rozhraní pro nulový a nenulový objekt
  2. jako typ ukatatele budeme implementovat rozhraní z bodu 1.
  3. místo hodnoty NULL umístíme odkaz na nulový objekt
  4. navrhneme a implementujeme chování nulového objektu


Reference[editovat | editovat zdroj]

  1. HORDĚJČUK, Vojtěch. . Dostupné online.  


Literatura[editovat | editovat zdroj]

Externí odkazy[editovat | editovat zdroj]