Разница между переменной экземпляра и локальной переменной

Разница между переменной экземпляра и локальной переменной
Разница между переменной экземпляра и локальной переменной

Видео: Разница между переменной экземпляра и локальной переменной

Видео: Разница между переменной экземпляра и локальной переменной
Видео: Переменные в JAVASCRIPT. Константы. Ключевые слова LET CONST VAR. Уроки JAVASCRIPT с нуля 2020 2024, Апрель
Anonim

Переменная экземпляра против локальной переменной

Переменная экземпляра - это тип переменной, который присутствует в объектно-ориентированном программировании. Это переменная, которая определена в классе, и каждый объект этого класса содержит отдельную копию этой переменной. С другой стороны, использование локальных переменных не ограничивается объектно-ориентированными языками программирования. Это переменная, которая может быть оценена только в конкретном блоке кода (например, функции, блоке цикла и т. Д.), В котором она определена. По этой причине говорят, что локальные переменные имеют локальную область видимости.

Что такое переменная экземпляра?

Переменные экземпляра используются в объектно-ориентированном программировании для хранения состояния каждого объекта в классе. Они также известны как переменные-члены или переменные поля. Переменные экземпляра объявляются без использования ключевого слова static в Java. Значения, хранящиеся в переменных экземпляра, уникальны для каждого объекта (каждый объект имеет отдельную копию), а значения, хранящиеся в них, представляют состояние этого объекта. Пространство для переменной экземпляра выделяется в куче, когда этот объект выделяется в куче. Следовательно, переменные экземпляра хранятся в памяти, пока объект жив. Например, цвет одного автомобиля не зависит от цвета другого автомобиля. Таким образом, цвет объекта «автомобиль» можно сохранить в переменной экземпляра. На практике переменные экземпляра объявляются внутри классов и вне методов. Как правило,переменные экземпляра объявлены как частные, поэтому к ним можно было получить доступ только внутри объявленного класса.

Что такое локальная переменная?

Локальные переменные - это переменные, имеющие локальную область видимости, и они объявляются в определенном блоке кода. Локальные переменные можно рассматривать как переменные, которые используются методом для хранения своего временного состояния. Область действия локальной переменной определяется с использованием местоположения, в котором объявлена переменная, и специальные ключевые слова для этой цели не используются. Обычно доступ к локальной переменной ограничен внутри блока кода, который она объявлена (то есть между открывающей и закрывающей фигурными скобками этого блока кода). Локальные переменные обычно хранятся в стеке вызовов. Это позволило бы рекурсивным вызовам функций сохранять свои собственные копии локальных переменных в отдельных адресных пространствах памяти. Когда метод завершает свое выполнение, информация об этом методе извлекается из стека вызовов, а также уничтожаются локальные переменные, которые были сохранены.

В чем разница между переменной экземпляра и локальной переменной?

Переменные экземпляра объявляются внутри классов вне методов, и они хранят состояние объекта, в то время как локальные переменные объявляются в блоках кода и используются для хранения состояния метода. Переменная экземпляра активна, пока активен объект, содержащий эту переменную, в то время как локальная переменная активна во время выполнения этого метода / блока кода. Доступ к переменной экземпляра (объявленной как общедоступная) можно получить внутри класса, тогда как к локальной переменной можно получить доступ только в том блоке кода, в котором она объявлена. Использование переменных экземпляра ограничено только объектно-ориентированным программированием, в то время как локальные переменные не имеют такого ограничения.

Рекомендуем: