[Cvičenie] 4 - 1. časť - Geometrické tvary - Generické typy
Preber si túto prednášku so svojou AI
Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto prednášky.
Zhrnutie prednášky
Cvičenie nadväzuje na predchádzajúcu hodinu o geometrických tvaroch a vysvetľuje generické typy v Jave na príklade triedy Canvas. Ukazuje postupný prechod od pevného poľa objektov typu Shape cez použitie kolekcie List až po generickú triedu Canvas<T>, ktorá dokáže pracovať s ľubovoľným typom, pričom sa rieši aj problém obmedzenia typu pomocou rozhrania či abstraktnej triedy Printable.
- - Trieda Canvas najprv ukladá tvary (Shape) do poľa s pevnou kapacitou a metódou addShape
- - Prechod z poľa na kolekciu List (ArrayList, LinkedList) kvôli dynamickému rastu bez potreby indexu a kapacity
- - Zavedenie generického typu T v triede Canvas<T>, aby vedela pracovať s ľubovoľným typom objektov
- - Problém s použitím Object namiesto konkrétneho typu - umožňuje vložiť nesúvisiaci objekt, napríklad LocalDateTime
- - Vytvorenie abstraktnej triedy/rozhrania Printable s metódou paint, od ktorej dedia Shape a jeho podtriedy Circle, Square a Triangle
- - Obmedzenie generického typu Canvas<T extends Printable> na typovo bezpečné vykresľovanie objektov
Zhrnutie pripravené s pomocou AI z prepisu videa.
nechodím na prednášky