Lekce 13 - Přetěžování operátorů a užitečné drobnosti ve Swift
V minulé lekci, Přetypování a hierarchie objektů ve Swift, jsme se zabývali rozhraním.
Zatímco předchozí lekce se daly považovat za nutné, abyste mohli ve Swift skutečně něco tvořit, tato je spíše taková doplňková a klidně se bez ní obejdete. Na druhou stranu není dlouhá a minimálně ponětí o těchto možnostech se vám bude hodit.
Přetěžování operátorů
S +
, -
nebo třeba *
jste se určitě
při programování setkali. Používáme je, když provádíme matematické
operace s čísly. Pod pokličkou jsou operátory speciální funkce. Čísla je
mají definované, my si ale klidně můžeme to samé nadefinovat pro
jakýkoliv náš typ (tedy strukturu nebo třídu). Bude to jednoduše metoda,
jejíž název je právě daný operátor.
To se občas může hodit, byť samozřejmě můžete mít např. metodu
pojmenovanou add()
, která dvě instance sečte a vrátí nějaký
výsledek.
Pro příklad si můžeme uvést strukturu Point
, která
reprezentuje bod v 2D prostoru pomocí souřadnic x
a
y
. Zápis vypadá následovně:
struct Point { var x: Int var y: Int }
Při častém použití by dávalo smysl připravit si operátor pro
sčítání dvou bodů, i samotný zápis bude ve výsledku jednodušší.
Deklarujeme tedy bodu operátor +
jako jeho statickou metodu:
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Koupit tento kurz
Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.
- Neomezený a trvalý přístup k jednotlivým lekcím.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
Ukážeme si, jak definovat operátory pro vlastní typy, včetně vlastních operátorů, a dále několik užitečných drobností ve Swift.
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.