Rozdíl mezi třídou a objektem

Třída vs. objekt

Objektově orientované programování (OOP) je velmi populární styl programování díky jeho schopnosti zpracovat složitější aplikace s mnohem větším kódem. Je to proto, že data organizuje do objektů, které jsou srovnatelné s objekty skutečného života. Třída a objekt jsou dva termíny, které se běžně používají v OOP. Ve své nejzákladnější podobě jsou objekty instancí tříd.

Abyste mohli používat objekty v programu, musíte deklarovat vlastnosti a procedury ve třídě. Abychom to mohli lépe vizualizovat, probereme to na příkladu. Pokud chcete vytvořit program, který se zabývá vozidly, budete muset vytvořit třídu pro vozidla. Ve třídě byste vytvořili proměnné, které budou obsahovat informace týkající se vozidel. Hodnoty jako kapacita cestujících, maximální rychlost a kapacita paliva jsou typické spolu s postupy, jako je start a stop. Po vytvoření třídy pro vozidla nyní můžete v aplikaci vytvářet objekty, které jsou založeny na třídě vozidla. Můžete vytvořit objekt s názvem auto nebo motocykl, který je založen na vozidlech. Poté můžete vyplnit příslušné informace o objektu a použít je, jak uznáte za vhodné v aplikaci.

Jak jste již mohli odvodit z výše uvedeného příkladu, informace, které budete skutečně používat v aplikaci, jsou uloženy v objektu, nikoli ve třídě. Třída definuje pouze strukturu dat a to, co každá procedura nebo funkce dělá.

Další vynikající vlastností tříd je schopnost zdědit vlastnosti a postupy od jiné třídy. Třídy, které dědí vlastnosti jiných tříd, se nazývají podtřídy. Tím se zkracuje práce potřebná k definování jiné třídy. Pokud chcete definovat třídu specifickou pro automobily, můžete jednoduše zdědit vlastnosti a postupy ve třídě vozidel, protože všechna auta jsou vozidla a budou vykazovat stejné vlastnosti. Totéž se neděje s objekty, protože ve skutečnosti neexistuje praktické využití pro globální zdědění dat objektu. Základní praxí pro programátory je vytvoření podtřídy a vytvoření objektu z podtřídy.

Souhrn:

1. Objekt je instancí třídy.

2. Definujete všechny vlastnosti a funkce ve třídě, zatímco je používáte v objektu.

3. Třídy nedrží žádné informace, zatímco objekt ano.

4. Můžete vytvářet podtřídy, ale nikoli dílčí objekty.