Объект против экземпляра
Объектно-ориентированное программирование (ООП) является одной из самых популярных парадигм программирования. В ООП основное внимание уделяется размышлению о проблеме, которая должна быть решена с точки зрения элементов реального мира, и представлению проблемы с точки зрения объектов и их поведения. Многие языки программирования, которые поддерживают ключевые аспекты ООП (так называемые языки ООП), имеют этот класс в качестве основного инструмента программирования. Они называются основанными на классе. Классы являются абстрактным представлением объектов реального мира. Классы имеют свойства, называемые атрибутами. Атрибуты реализованы как глобальные переменные и переменные экземпляра. Методы в классах представляют или определяют поведение этих классов. Методы и атрибуты классов называются членами класса. Проще говоря, класс - это проект или шаблон для конкретного объекта реальной жизни. Таким образом, объект - это блок (блоки) памяти, используемый для хранения необходимой информации в соответствии с этим планом. Экземпляр - это блок памяти, который ссылается на объект.
Что такое объект?
Объекты - это результаты создания класса. Инстанциация - это процесс создания чертежа и определения каждого атрибута и поведения таким образом, чтобы результирующий объект фактически представлял объект реальной жизни. Объект - это выделенный и непрерывный блок памяти, выделенный для хранения информации, такой как переменные, методы или функции и т. Д. Объект создается с использованием оператора new на языке программирования Java. Например, если существует класс с именем Car, то для создания объекта класса Car можно использовать следующее.
новая машина();
Здесь объект Car создается оператором new, и возвращается ссылка на объект. Оператор new вместе с конструктором класса Car используется для создания нового объекта. Срок службы объекта начинается с вызова его конструктора до момента его уничтожения. Если объект не указан, он будет удален / уничтожен сборщиком мусора.
Что такое экземпляр?
Экземпляр - это блок памяти, который содержит ссылку на объект. Другими словами, Instance сохранит адрес начального блока памяти, в котором хранится объект. На самом деле, имя экземпляра можно использовать для доступа к началу области памяти объекта. Смещения из начальной памяти рассчитываются механизмом времени выполнения, чтобы мы могли перейти туда, где хранятся ссылки на отдельные данные или методы. Следующий фрагмент кода Java может быть использован для создания экземпляра объекта Car.
Car myCar = new Car ();
Как упоминалось выше, новый оператор создает объект Car и возвращает ссылку на него. Эта ссылка хранится в переменной типа Car myCar. Итак, myCar - это экземпляр созданного объекта Car..
В чем разница между объектом и экземпляром?
Объект - это непрерывный блок памяти, в котором хранится фактическая информация, которая отличает этот объект от других объектов, в то время как экземпляр является ссылкой на объект. Это блок памяти, который указывает на начальный адрес, где хранится объект. Два экземпляра могут ссылаться на один и тот же объект. Продолжительность жизни объекта и экземпляра не связаны. Поэтому экземпляр может быть нулевым. Как только все экземпляры, указывающие на объект, будут удалены, объект будет уничтожен.