Rozdíl mezi objektem a instancí

Rozdíl mezi objektem a instancí
Rozdíl mezi objektem a instancí

Video: Rozdíl mezi objektem a instancí

Video: Rozdíl mezi objektem a instancí
Video: MeeGo - забытая система Nokia. 2024, Červenec
Anonim

Objekt vs. instance

Objektově orientované programování (OOP) je jedním z nejpopulárnějších programovacích paradigmat. V OOP se zaměřujeme na přemýšlení o problému, který má být řešen, z hlediska prvků reálného světa a na reprezentaci problému z hlediska objektů a jejich chování. Mnoho programovacích jazyků, které podporují klíčové aspekty OOP (nazývané jazyky OOP), má tuto třídu jako hlavní programovací nástroj. Říká se jim třídní. Třídy jsou abstraktní reprezentací objektů reálného světa. Třídy mají vlastnosti nazývané atributy. Atributy jsou implementovány jako globální a instanční proměnné. Metody ve třídách představují nebo definují chování těchto tříd. Metody a atributy tříd se nazývají členy třídy. Velmi zjednodušeně řečeno, třída je plán nebo šablona pro konkrétní objekt reálného života. Objekt je tedy paměťový blok (bloky), který se používá k uložení nezbytných informací podle tohoto plánu. Instance je paměťový blok, který odkazuje na objekt.

Co je objekt?

Objekty jsou výsledkem vytvoření instance třídy. Instanciace je proces převzetí plánu a definování každého atributu a chování tak, aby výsledný objekt skutečně představoval skutečný objekt života. Objekt je vyhrazený a souvislý blok paměti přidělený k ukládání informací, jako jsou proměnné, metody nebo funkce atd. Objekt je vytvořen pomocí operátoru new v programovacím jazyce Java. Například, pokud existuje třída s názvem Car, pak lze k vytvoření objektu třídy Car použít následující.

nové auto();

Zde je objekt Car vytvořen novým operátorem a je vrácen odkaz na objekt. Operátor new spolu s konstruktorem třídy Car se používá k vytvoření nového objektu. Životnost objektu začíná od volání jeho konstruktoru do doby, kdy je zničen. Jakmile objekt není doporučen, bude odstraněn/zničen sběračem odpadu.

Co je instance?

Instance je paměťový blok, který obsahuje odkaz na objekt. Jinými slovy, instance zachová adresu počátečního paměťového bloku, kde je objekt uložen. Ve skutečnosti lze název instance použít k přístupu na začátek oblasti paměti objektu. Offsety ze spouštěcí paměti vypočítá runtime engine, takže můžeme přejít tam, kde jsou uložena jednotlivá data nebo reference metod. Následující vystřižený kód Java lze použít k vytvoření instance objektu Car.

Auto myCar=nové auto();

Jak je uvedeno výše, nový operátor vytvoří objekt Car a vrátí na něj odkaz. Tato reference je uložena v proměnné typu auta myCar. Takže myCar je instance vytvořeného objektu Car.

Jaký je rozdíl mezi objektem a instancí?

Objekt je souvislý blok paměti, který ukládá aktuální informace, které odlišují tento objekt od jiných objektů, zatímco instance je odkaz na objekt. Je to blok paměti, který ukazuje na počáteční adresu, kde je objekt uložen. Dvě instance mohou odkazovat na stejný objekt. Životnost objektu a instance spolu nesouvisí. Instance tedy může být nulová. Jakmile jsou všechny instance ukazující na objekt odstraněny, objekt bude zničen.

Doporučuje: