[Cvičenie] 4 - 1. časť - Geometrické tvary - Generické typy

Zdroj
ručne priradené
Pridané

Pozrieť na YouTube →

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.

Otvoriť AI: ChatGPT · Claude · Gemini

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.