Skip to main content

Co je to proměnná instance?

Proměnná instance je kus dat v objektově orientovaném programování, která má svou vlastní jedinečnou hodnotu pro každý objekt, ve kterém sídlí.Proměnné instance mohou být také nazývány členy instance, nestatická pole a datové členy.Jsou důležitou součástí většiny objektů a drží konkrétní kusy dat, které objekt používá pro výpočet.Má proměnnou instance nazvanou Blah, dvě proměnné Blah jsou odlišné entity.Každá proměnná je spojena s objektem, který ji zapouzdřuje.Celý název proměnné blah spojený s objektem A je a.blah, zatímco celý název proměnné blah spojený s objektem B je b.blah.Každý, pokud tyto proměnné mohou mít svou vlastní hodnotu.Pokud jsou objekty A a B stejného typu a vytvoří se další objekt tohoto typu, a objekt C bude mít také proměnnou instalaci, která může mít svou vlastní jedinečnou hodnotu.

Proměnné instance jsou často zmatenyStatické proměnné, ale tyto dva se výrazně liší.Na rozdíl od proměnných instancí, z nichž každý objekt konkrétního typu má své vlastní statické proměnné, mají pouze jednu hodnotu a tato hodnota je stejná pro každý objekt vhodného typu.Statické proměnné se často nazývají proměnné třídy, které nejsou stejné jako proměnné instance.ve kterém sídlí i jiné objekty.Tento konečný typ viditelnosti, nazývaný Viditelnost veřejnosti, je často považován za špatnou praxi například proměnné, protože je snadné porušit zásady zapouzdření v objektově orientovaném programování.Navzdory tomuto tabu jsou časy, kdy jsou proměnné veřejné instance užitečné.Například mnoho standardních tříd v Javě má veřejné proměnné instance, což občas umožňuje snadnou úpravu vlastností.Pokud jedna třída zdědí z druhé, nevede to okamžitě obě třídy přístup k sobě ostatním proměnným instancí.Proměnné soukromých instancí v superclass a podtřídě zůstávají omezeny pouze na tyto třídy, takže soukromou proměnnou v podtřídě nelze vidět superclass a naopak.Jedinou proměnnou instancí, které vidí supertřída i podtřída, jsou chráněné proměnné v superclass.