Rozdíl Mezi Proměnnou Instance A Místní Proměnnou

Rozdíl Mezi Proměnnou Instance A Místní Proměnnou
Rozdíl Mezi Proměnnou Instance A Místní Proměnnou

Video: Rozdíl Mezi Proměnnou Instance A Místní Proměnnou

Video: Rozdíl Mezi Proměnnou Instance A Místní Proměnnou
Video: výraz s proměnnou 2024, Listopad
Anonim

Proměnná instance vs. místní proměnná

Proměnná instance je typ proměnné, která je přítomna v objektově orientovaném programování. Je to proměnná, která je definována ve třídě, a každý objekt této třídy má samostatnou kopii této proměnné. Na druhou stranu se použití lokálních proměnných neomezuje na objektově orientované programovací jazyky. Jedná se o proměnnou, kterou lze posoudit pouze v rámci konkrétního bloku kódu (např. Funkce, blok smyčky atd.), Ve kterém je definován. Z tohoto důvodu se říká, že místní proměnné mají místní rozsah.

Co je to proměnná instance?

Proměnné instance se používají v objektově orientovaném programování pro ukládání stavu každého objektu ve třídě. Jsou také známé jako členské proměnné nebo polní proměnné. Proměnné instance jsou deklarovány bez použití statického klíčového slova v Javě. Hodnoty uložené v proměnných instance jsou pro každý objekt jedinečné (každý objekt má samostatnou kopii) a hodnoty v nich uložené představují stav daného objektu. Místo pro proměnnou instance je přiděleno v haldě, když je tento objekt přidělen v haldě. Proto jsou proměnné instance uchovávány v paměti, dokud je objekt aktivní. Například barva jednoho vozu je nezávislá na barvě jiného vozu. Barvu objektu automobilu lze tedy uložit do proměnné instance. V praxi jsou proměnné instance deklarovány uvnitř tříd a mimo metody. Obvykle,Proměnné instance jsou deklarovány jako soukromé, takže k nim lze přistupovat pouze v rámci třídy, která je deklarována.

Co je místní proměnná?

Místní proměnné jsou proměnné, které mají místní rozsah a jsou deklarovány v rámci konkrétního bloku kódu. Na lokální proměnné lze pohlížet jako na proměnné, které metoda používá k uložení dočasného stavu. Rozsah místní proměnné se určuje pomocí umístění, ve kterém je proměnná deklarována, a pro tento účel se nepoužívají speciální klíčová slova. Typicky je přístup k místní proměnné omezen v rámci bloku kódu, který je deklarován (tj. Mezi otevírací a zavírací závorkou daného bloku kódu). Místní proměnné jsou obvykle uloženy v zásobníku volání. To by umožnilo rekurzivním voláním funkcí udržovat jejich vlastní kopie lokálních proměnných, které mají být uloženy v samostatných prostorech adres paměti. Když metoda dokončí své spuštění, informace o této metodě se vyskočí ze zásobníku volání a zničí také místní proměnné, které byly uloženy.

Jaký je rozdíl mezi proměnnou instance a místní proměnnou?

Proměnné instance jsou deklarovány v rámci tříd mimo metody a ukládají stav objektu, zatímco lokální proměnné jsou deklarovány v rámci bloků kódu a slouží k ukládání stavu metody. Proměnná instance je aktivní, pokud je aktivní objekt, který tuto proměnnou obsahuje, zatímco lokální proměnná je aktivní během provádění tohoto bloku metody / kódu. K proměnné instance (která je deklarována jako veřejná) lze přistupovat v rámci třídy, zatímco k místní proměnné lze přistupovat pouze v rámci bloku kódu, který je deklarován. Použití proměnných instance je omezeno pouze na objektově orientované programování, zatímco lokální proměnné takové omezení nemají.

Doporučená: