# Zbierka úloh z objektovo orientovaného programovania

# O zbierke

Drahí kolegovia,

v prvom ročníku bakalárskeho štúdia sme sa naučili vytvoriť procedurálne algoritmy, konkrétne v jazyku C. Zistili sme, že daný problém môžeme vyriešiť postupnosťou príkazov, ktoré kompilovaním preložíme do sady inštrukcií, ktorým rozumie náš počítač.

V druhom ročníku posúvame naše znalosti na ďalšiu úroveň a začíname sa venovať nielen vytváraniu programov pre počítač, ale aj písaniu zrozumiteľného a kvalitného kódu pre ľudí.

Rokmi skúseností mnohých múdrych a šikovných ľudí sme prišli na to, že objektovo orientované programovanie je pre tento účel veľmi dobré - sme zvyknutí rozmýšľať o veciach ako o objektoch, ktoré majú svoje vlastnosti a ktoré vedia niečo robiť (napr. káva má svoju teplotu, horkosť a vieme ju vypiť či vyliať). Bohužiaľ, pre počítače je to pravý opak - oni nerozumejú objektom, oni majú najbližšie k procedurálnym jazykom, v ktorých sa problém píše viacej z pohľadu reálneho hardvéru ako z pohľadu človeka.

My, prispôsobiví ľudia, sme si už zvykli rozmýšľať ako počítače a prekvapivo nás zmena paradigmy dokáže zo začiatku vykoľajiť. Chvíľu to trvá a každý si tým musí prejsť. Táto zbierka úloh je venovaná práve pre vás, aby ste sa dokázali s týmto spôsobom rozmýšľania čo najrýchlejšie stotožniť a aby ste videli, ako vám objektovo orientovaný prístup dokáže pomôcť pri modelovaní a riešení problémov.

A nezabudnite - aj keď bola Java pre vás zvolená ako prvý objektovo orientovaný jazyk, vedomosti z tejto zbierky sa budú dať použiť na hociktorý iný.