OOP teoreticky: Základy

Takže jaký je smysl či princip OOP? Rozdělit celý program na dílčí části a řešit postupně pouze tyto menší části programu. Tím, že problém rozdělíme na menší části, stává se celkový projekt snáze řešitelný, snáze analyzovatelný a snáze udržovatelný. Příklad: programujeme nějakou hru. Třeba šachy, to je vcelku jedno. Jak by se to řešilo objektově? Celý problém by se rozdělil na menší díly, takže bychom měli část, která by se starala o pravidla hry, byl by to takový rozhodčí. Další část by se starala o reprezentaci hrací desky, dále bychom potřebovali něco, co bude celou hru řídit, nějakého manažera celé hry. Vidíte, jak jsme hezky rozkouskovali projekt na menší části? Důležité je, že každá část se stará jen o to své. Rozhodčí jako jediný zná pravidla hry. Manažer nemá žádnou představu o tom, kam může která figurka skočit.

Všem předchozím částem můžeme říkat objekty. Rozdělili jsme velký problém šachů na menší části/objekty Rozhodčí, Manažer, Hrací deska apod. Takže co je to objekt? Objekt je jakási entita, struktura, která reprezentuje určitou jedinečnou souvislou část celého programu. Pokud poskládáme a pospojujeme všechny objekty dohromady, máme celý program.

Více programátorsky je objekt struktura, která obsahuje určitě proměnné a určité funkce, které se vztahují k myšlence objektu. Například pokud bychom měli objekt Bod, mohl by obsahovat proměnné X a Y, reprezentující x-ovou a y-ovou souřadnici. A teď by to chtělo vymyslet nějakou funkci, která by se k tomuto objektu hodila. Co můžeme dělat s bodem/souřadnicí? Bod můžeme třeba posouvat, takže objekt Bod by mohl mít u sebe funkci Posun(), která by daný bod posunula o nějaké ty pixely.