Rozdíl mezi třídou a objektem v OOP
Klíčové rozdíly mezi třídou a objektem
- Třída je šablona pro vytváření objektů v programu, zatímco objekt je instancí třídy.
- Třída je logická entita, zatímco objekt je fyzická entita.
- Třída nepřiděluje paměťový prostor; na druhé straně objekt alokuje paměťový prostor.
- Třídu můžete deklarovat pouze jednou, ale pomocí třídy můžete vytvořit více než jeden objekt.
- S třídami nelze manipulovat, zatímco s objekty lze manipulovat.
- Třídy nemají žádné hodnoty, zatímco objekty mají své vlastní hodnoty.
- Třídu můžete vytvořit pomocí klíčového slova „class“, zatímco ručně můžete vytvořit objekt pomocí klíčového slova „new“ in Java.

Co je třída?
Třída je entita, která určuje, jak se bude objekt chovat a co bude objekt obsahovat. Jinými slovy, je to plán nebo soubor instrukcí pro vytvoření určitého typu objektu. Poskytuje počáteční hodnoty pro členské proměnné a členské funkce nebo metody.
Co je Object?
Objekt není nic jiného než samostatná komponenta, která se skládá z metod a vlastností, aby byla data užitečná. Pomáhá vám určit chování třídy.
Když například odešlete zprávu objektu, žádáte objekt, aby vyvolal nebo provedl jednu z jeho metod.
Z hlediska programování může být objektem datová struktura, proměnná nebo funkce, která má přidělené místo v paměti. Objekt je navržen jako hierarchie tříd.
Třída vs objekt – rozdíl mezi nimi
Zde je důležitý rozdíl mezi třídou a objektem:
Třída | Objekt |
---|---|
Třída je šablona pro vytváření objektů v programu. | Objekt je instancí třídy. |
Třída je logická entita | Objekt je fyzická entita |
Třída při vytvoření nepřiděluje paměťový prostor. | Objekt alokuje paměťový prostor, kdykoli jsou vytvořeny. |
Třídu můžete deklarovat pouze jednou. | Pomocí třídy můžete vytvořit více než jeden objekt. |
Příklad: Auto. | Příklad: Jaguar, BMW, Tesla atd. |
Třída generuje objekty | Předměty dodávají třídě život. |
S třídami nelze manipulovat, protože nejsou dostupné v paměti. | Dá se s nimi manipulovat. |
Nemá žádné hodnoty, které jsou přidruženy k polím. | Každý objekt má své vlastní hodnoty, které jsou spojeny s poli. |
Třídu můžete vytvořit pomocí klíčového slova „class“. | Objekt můžete vytvořit pomocí klíčového slova „new“. Java |
Pochopte pojem Java Třídy a objekty s příkladem.
Vezměme si příklad vývoje systému správy domácích mazlíčků, speciálně určeného pro psy. Budete potřebovat různé informace o psech, jako jsou různá plemena psů, věk, velikost atd.
Musíte modelovat skutečné bytosti, tj. psy do softwarových entit.
Navíc otázka za milion je, jak takový software navrhujete? Tady je řešení -
Nejprve si uděláme cvičení.
Níže můžete vidět obrázek tří různých plemen psů.
Zastavte se hned teď! Uveďte rozdíly mezi nimi.
Některé z rozdílů, které jste možná uvedli, mohou být plemeno, věk, velikost, barva atd. Pokud se na chvíli zamyslíte, tyto rozdíly jsou také některé společné vlastnosti sdílené těmito psy. Tyto charakteristiky (plemeno, věk, velikost, barva) mohou tvořit datové členy pro váš objekt.
Dále vyjmenujte běžné chování těchto psů, jako je spánek, sezení, jídlo atd. Takže toto budou akce našich softwarových objektů.
Zatím jsme definovali následující věci,
- Třída: Psi
- Datové členy or Objekty: velikost, věk, barva, plemeno atd.
- Metody: jíst, spát, sedět a běhat.
Nyní pro různé hodnoty datových členů (velikost plemene, věk a barva) v Java třídy, získáte různé psí předměty.
Pomocí tohoto přístupu OOPs můžete navrhnout jakýkoli program.
Třídy a objekty v Java
V níže uvedeném programu jsme vyhlásili třídu s názvem Pes. Pomocí nového klíčového slova jsme definovali objekt třídy s názvem „maltese“. V posledním příkazu System.out.println(maltese.getInfo()); zobrazujeme informace o psu, jako je plemeno, velikost, věk, barva atd.
// Class Declaration class Dog { // Instance Variables String breed; String size; int age; String color; // method 1 public String getInfo() { return ("Breed is: "+breed+" Size is:"+size+" Age is:"+age+" color is: "+color); } } public class Execute{ public static void main(String[] args) { Dog maltese = new Dog(); maltese.breed="Maltese"; maltese.size="Small"; maltese.age=2; maltese.color="white"; System.out.println(maltese.getInfo()); } }
Výstup:
Plemeno je: maltézáček Velikost je: Malý Věk je:2 barva je: bílá
Typy třídy
Níže jsou uvedeny důležité typy tříd:
Odvozené třídy a dědičnost
Odvozená třída je třída, která je vytvořena nebo odvozena od jiné reminující třídy. Používá se pro zvýšení funkčnosti základní třídy. Tento typ třídy odvozuje a dědí vlastnosti z existující třídy. Může také přidávat nebo sdílet/rozšiřovat své vlastní vlastnosti.
Supertřídy:
Nadtřída je třída, ze které můžete odvodit mnoho podtříd.
Podtřídy:
Podtřída je třída, která je odvozena od nadtřídy.
Smíšené třídy
Smíšená třída je další funkcí, která vám pomáhá dědit vlastnosti jedné třídy na druhou. Používá podmnožinu funkcí třídy, zatímco odvozená třída používá kompletní sadu funkcí nadtřídy.
Použití třídy
Zde jsou důležitá použití třídy:
- Třída se používá k uložení jak datových proměnných, tak členských funkcí.
- Umožňuje vytvářet uživatelem definované objekty.
- Třída poskytuje způsob, jak organizovat informace o datech.
- Třídu můžete použít ke zdědění vlastnosti jiné třídy.
- Třídy lze použít k využití výhod konstruktoru nebo destruktoru.
- Lze jej použít pro velké množství dat a složité aplikace.
Použití objektu
Zde jsou důležitá použití objektu
- Pomůže vám zjistit typ přijaté zprávy a typ vrácených odpovědí.
- Pomocí objektu můžete získat přístup k části paměti pomocí proměnné odkazu na objekt.
- Používá se k manipulaci s daty.
- Objekty představují skutečný problém, pro který hledáte řešení.
- Umožňuje datovým členům a členským funkcím provádět požadovanou úlohu.