Moduļa 2.1. vingrinājumi

exercise15: Objektu hierarhija

Objektu hierarhija

Darbības

  • Implementēt objektdiagrammu, izmantojot klašu mantošanu - Picture un Document ir apakšklases klasei File (starp tām pastāv agregācijas attiecība, t.i. dokuments var saturēt bildes)
  • Implementēt klasi Topic - tā šobrīd ir triviāla klase; tur ir konstruktors, kurš uzstāda instances mainīgos "path" un "title". Vēlāk "path" tiks lietots, lai noteiktu, kurš topiks ir kuram apakštopiks. Sk. http://dmoz.org/rdf.html
  • Papildināt File(...) konstruktoru ar kodu, kurš automātiski uzstāda konstrukcijas brīža datumu
  • Konstruktorus Picture(...) un Document() sākt ar super() izsaukumu, nododot tam atbilstošus parametrus; (dokumenta gadījumā ar to vien nepietiks un vajadzēs vēl uzstādīt topiku)
  • Visas citas "Picture" un "Document" metodes definēt triviāli - attbilstoši uzstādot vai nolasot instanču mainīgos
  • Klasei "Directory" pievienot jaunu metodi "addDocument()", kura saņem dokumenta instanci (tam vēl nav uzstādīts "topic"), masīvu ar bilžu instancēm (šīm bildēm vēl nav uzstādīts "belongsTo") un topiku. Uzstādīt dokumenta topiku un bilžu piederību (visas bildes no masīva pieder atbilstošajam dokumentam; dokumenta topiks ir metodē norādītais). Turklāt šai metodei ar addFile() ir jāpievieno dokuments un visas bildes kā faili. Ja kaut kas no tā neizdodas, jāveic "rollBack" - daļēji veiktās izmaiņas atkal jāizdzēš.