Logo Czechitas
Vloženo: 4. 12. 2016

Úkol z lekce 10 - Třídy Osoba a TelefonniCislo

V hodině jsme zkusili napsat SeznamKontaktů tak, aby místo kolekce Map<String, Set<String>> (tedy pouhé Stringy) používal Map<Osoba, Set<TelefonniCislo>> (tedy sémantické třídy vyjadřující typ dat, které jejich objekty nesou).

Úkolem je to dokončit a stejnou funkcionalitu napsat i do grafické verze programu.

Abych vám ulehčil práci a všichni jsme začínali ze stejného základu, vyjděte prosím z mojí verze zadání.
Jsou tam projekty SeznamKontaktuCLI (textová verze) a SeznamKontaktuGUI (okenní verze). Změnu proveďte u obou verzí.

Screenshot Seznamu kontaktů

Archív si stáhněte zde:
Ukol10-heslo_czechitas.7z



Začněte tím, že změníte metodu ve třídě TelefonniSeznamService z původní hlavičky:
public Map<String, Set<String>> nactiTelefonniCisla(String vstup)
na metodu:
public Map<Osoba, Set<TelefonniCislo>> nactiTelefonniCisla(String vstup)

Java vás sama donutí opravit zbylé části programu, jinak by nešel spustit. Je to díky tomu, že Java je staticky silně typovaný jazyk a překladač propustí jen logicky platný program.

Až budete mít program funkční, změňte metodu compareTo(...) ve třídě Osoba tak, aby seznam osob nebyl setříděný podle celého jména (počínaje křestním jménem), ale prioritně podle prijmeni a teprve při shodném prijmeni by rozhodovalo krestniJmeno.





Práci vám ulehčím, v archívu je i hotové řešení:
Pokud byste tápaly a nedařilo se vám úkol vyřešit, alespoň prosím důkladně srovnejte, v čem se liší zadání a řešení.



Domácí úkol mi, prosím, pošlete klasicky na můj email zabalený pomocí 7-Zipu s heslem czechitas (se zapnutým šifrováním jmen souborů), aby Gmail akceptoval přílohu.