Objektově orientované programování
Z CHWiki
Objektově orientované programování je programovací paradigma, ve kterém programátor modeluje reálný svět pomocí tzv. objektů. Objekt v programovacím jazyce je celek vlastností (dat) a chování (programového kódu). Například objekt Button v GUI má vlastnosti jako třeba popisek, umístění a případně barvu. Vedle toho se ještě umí nakreslit, schovat nebo změnit některou svou vlastnost. V programu obyčejně figuruje velké množství objektů a každý řeší svůj úkol. Objekty spolu navzájem komunikují, například v GUI v počítačové hře řekne objekt obstarávající vstup z myši formuláři, že na něj bylo kliknuto. Formulář poté zjistí, že to bylo na tlačítko, a pošle mu příslušnou zprávu. Tlačítko na to reaguje tím, že se nakreslí jako stisknuté a pošle zprávu zaregistrovanému příjemci. Ten poté vykoná kód příslušící stisknutí daného tlačítka.
Objekty jsou vlastně konkrétní instance tzv. tříd. Třída popisuje jaké vlastnosti a funkce má druh objektů. Například máme třídu Auto a ta definuje vlastnosti jako rychlost, barvu, spotřebu a funkce pro nastartování, změnu směru a podobně. Od třídy Auto pak můžeme mít několik instancí, objektů, a každý bude mít svoje vlastní hodnoty pro rychlost, barvu a spotřebu. Tak můžeme mít pomalé modré auto, které hodně spotřebuje nebo červené auto s velmi nízkou spotřebou. Takto by vypadala třída Auto v C#:
public class Auto {
public float Rychlost;
public float Spotreba;
public Color Barva;
public bool Nastartovane;
public void Startuj() {
Nastartovane = true;
}
public void Zastav() {
Nastartovane = false;
}
}
Pak můžeme mít několik aut:
Auto pepovo, moje, frantovo;
a s každým můžeme nezávisle pracovat:
pepovo.Rychlost = 40; moje.Rychlost = 120; moje.Startuj();
každá instance si uchovává vlastní stav.
V současné době je objektově orientované programování velmi oblíbené a většina moderních jazyků ho podporuje.
