Jaký je rozdíl mezi třídou a objektem
Hlavní rozdíl mezi třídou a objektem spočívá v tom, že třída je plán nebo šablona pro vytváření objektů, zatímco objekt je instance třídy.
Programovací paradigma označuje styl uspořádání struktury a prvků počítačového programu. Jedním z hlavních paradigmat je objektově orientované programování (OOP). Umožňuje vývojářům snadno modelovat scénáře reálného světa. Kromě toho toto paradigma umožňuje vytvářet software pomocí objektů. Třída a objekt jsou dva pojmy související s OOP.
Klíčové oblasti, kterými se zabýváme
1. Co je to třída
– definice, funkčnost
2. Co je to objekt
– definice, funkčnost
3. Rozdíl mezi třídou a objektem
– Porovnání klíčových rozdílů
Klíčové pojmy
Atribut, třída, konstruktor, objekt, metoda, OOP
Co je to třída
Třída je plán pro vytvoření objektu. Je to logická entita, která poskytuje strukturu pro vytváření objektů. Jinými slovy, programátor může pomocí jedné třídy vytvořit více objektů. Třída se skládá z atributů a metod. Atributy jsou pole nebo metody. Metody popisují chování. Kromě toho může třída obsahovat také konstruktor. Je to speciální metoda, která se používá k inicializaci objektu.
Tyto atributy a metody třídy se nazývají členy třídy. Tyto členy mohou mít veřejnou, soukromou nebo chráněnou viditelnost. Veřejné členy jsou přístupné mimo třídu, zatímco soukromé členy jsou přístupné pouze uvnitř třídy. Chráněné členy jsou navíc viditelné v rámci třídy a podtříd. Programátor může zabezpečit atributy třídy tím, že je deklaruje jako soukromé a umožní k nim přístup pomocí veřejných metod.
Co je to objekt
Objekt je instance třídy. Jinými slovy, objekty se vytvářejí pomocí třídy. Objekt je entita, která má stav a chování. Atributy třídy popisují stav objektu. Podobně metody třídy popisují chování objektu.
Předpokládejme například systém pro správu zdravotnictví. Má stavy, jako je název zdravotnického střediska, umístění, počet lékařů, pacientů atd. Má také chování nebo funkce, jako je přijímání pacientů, vydávání lékařských zpráv, zadávání údajů o lékaři atd. Navíc bankovní systém má stavy, jako je název banky, umístění, země atd. a zároveň má chování nebo funkce, jako je vklad, výběr, převod peněz.
Podobně lze pomocí tohoto scénáře třída – objekt snadno modelovat jakoukoli situaci v reálném světě.
Obrázek 1: Program v jazyce Java s třídou a objekty
V uvedeném programu existuje třída s názvem Student. Ta má soukromé vlastnosti nazvané id, name a gpa. Konstruktor Student pomáhá těmto vlastnostem přidělit počáteční hodnoty. Pro zobrazení vlastností existuje metoda s názvem displayDetails. V hlavním programu jsou vytvořeny objekty student (s1, s2). Klíčové slovo new pomáhá alokovat paměť pro objekty za běhu. Poté se pomocí těchto objektů zavolá metoda dispalyDetails. Proto se podrobnosti o studentovi zobrazí na konzole.
Rozdíl mezi třídou a objektem
Definice
Třída je šablona pro vytváření nebo instancování objektů v programu, zatímco objekt je instance třídy. To je tedy hlavní rozdíl mezi třídou a objektem.
Typ
Důležitým rozdílem mezi třídou a objektem je také to, že třída je logická entita, zatímco objekt je fyzická entita.
Vytvoření
Třída se navíc deklaruje pomocí klíčového slova „class“, zatímco objekt se vytváří pomocí klíčového slova „new“.
Alokace paměti
Třída při svém vytvoření nezískává žádnou paměť, zatímco objekty ji při svém vytvoření získávají. Proto je to další rozdíl mezi třídou a objektem.
Kvantita
Třída se navíc deklaruje jednou, zatímco pomocí třídy se vytváří více objektů.
Závěr
Celé OOP je založeno na konceptu třídy a objektu. Hlavní rozdíl mezi třídou a objektem spočívá v tom, že třída je plán nebo šablona pro vytváření objektů, zatímco objekt je instance třídy. Stručně řečeno, pro vytváření objektů by měla existovat třída.