C a C++ týden ITnetwork Flashka zdarma
Akce! Pouze tento týden sleva až 80 % na kurzy C++. Lze kombinovat s akcí 50 % bodů navíc na prémiový obsah!
Brno? Vypsali jsme pro vás nové termíny školení Základů programování a OOP v Brně!

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...

Prémiový článek

Prémiový článek

Na itnetwork.cz se nachází největší a nejucelenější česká databáze s výukovými články, jejímž cílem je umožnit kvalitní vzdělání v oblasti IT úplně každému. Měsíčně zobrazíme k milionu článků a sklidíme desítky děkovných emailů, kde nám sdělujete, že jsme vám pomohli k lepšímu zaměstnání nebo vzdělání.

Ačkoli se snažíme držet většinu obsahu úplně zadarmo, udržovat síť v provozu a aktuální stojí obrovské úsilí. Proto je nějaký obsah, jako cvičení nebo odbornějšíčlánky, přístupný pouze za body. Nebojte, nestojí to skoro nic :)

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.

Omezená nabídka: Nauč se vše a ušetři

Koupit články a funkce postupně a po jednom 208 bodů
Koupit celý kurz se všemi články a funkcemi za exkluzivní cenu 177 bodů
Na svém účtu máš aktuálně 0 bodů
Koupí tohoto výhodného balíčku získáš přístup ke všem 22 článkům s kontrolou a certifikací a ještě navíc ušetříš 78 Kč. Nabídka je omezená pouze pro první články z kurzu a obsahuje exkluzivní slevu 15%.
177 bodů získáš za přidání svého článku na síť nebo odpovídá 519 Kč 441 Kč

Koupit pouze tento článek

Pozor, pokud si koupíš pouze tento článek, ztratíš nárok na speciální slevu 15% na balíček všech článků.

Pro přístup k článku potřebuješ 10 bodů
Na svém účtu máš aktuálně 0 bodů
10 bodů získáš za přidání svého článku na síť nebo odpovídá 25 Kč

Koupí článku k němu získáš neomezený přístup a to napořád. Posuneš své znalosti zas kousek dopředu a zároveň nám pomůžeš udržovat celý projekt při životě a pomáhat vám tak k lepší budoucnosti.

Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.

Body 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íť.

Dobít body můžeš okamžitě např.:

Kartou SMS Převodem
Kartou SMS Převodem

 

Článek pro vás napsal Filip Němeček
Avatar
Autor se věnuje vývoji iOS aplikací (občas macOS) či těch webových ve frameworku Django. Twitter: @nemecek_f | GitHub nemecek-filip
Předchozí článek
Přetypování a hierarchie objektů ve Swift
Všechny články v sekci
Objektově orientované programování ve Swift
Miniatura
Následující článek
Cvičení k 10.-13. lekci OOP ve Swift
Aktivity (4)