Об'єкт проти Екземпляра
Об'єктно-орієнтоване програмування (OOP) - одна з найпопулярніших парадигм програмування. В ООП основна увага приділяється роздуму над проблемою, яку слід вирішити з точки зору елементів реального світу, і представляє проблему з точки зору об'єктів та їх поведінки. Багато мов програмування, які підтримують ключові аспекти OOP (називаються мовами OOP), мають клас як основний інструмент програмування. Їх називають на основі класу. Заняття - це абстрактне зображення об'єктів реального світу. Класи мають властивості, звані атрибутами. Атрибути реалізовані як глобальні та екземпляри. Методи в класах представляють або визначають поведінку цих класів. Методи та атрибути класів називаються членами класу. Дуже просто кажучи, клас - це креслення або шаблон конкретного об'єкта реального життя. Отже, об'єкт - це блок пам'яті, який використовується для зберігання необхідної інформації відповідно до цього креслення. Екземпляр - це блок пам'яті, який посилається на об'єкт.
Що таке об’єкт?
Об'єкти - це результати інстанції класу. Моменталізація - це процес взяття креслення та визначення кожного атрибуту та поведінки так, щоб результат, що виникає, насправді являв собою об'єкт реального життя. Об'єкт - це виділений та безперервний блок пам'яті, виділений для зберігання такої інформації, як змінні, методи чи функції тощо. Об'єкт створюється з використанням нового оператора, на мові програмування Java. Наприклад, якщо існує клас під назвою Car, то для створення об'єкта класу Car можна використовувати наступне.
Нова машина();
Тут новий оператор створює об'єкт Car і повертає посилання на об'єкт. Новий оператор разом з конструктором класу Car використовується для створення нового об'єкта. Тривалість життя об'єкта починається від виклику до його конструктора до моменту його знищення. Як тільки об’єкт не буде переданий, він буде видалений / знищений сміттєзбірником.
Що таке інстанція?
Екземпляр - це блок пам'яті, який містить посилання на об'єкт. Іншими словами, Instance буде зберігати адресу стартового блоку пам'яті, де зберігається об'єкт. Власне, ім'я екземпляра можна використовувати для доступу до початку області пам'яті об'єкта. Відхилення від стартової пам'яті обчислюються механізмом виконання, щоб ми могли перейти до місця, де зберігаються окремі дані чи методи посилання. Наступний фрагмент коду Java може бути використаний для створення примірника об'єкта Car.
Автомобіль myCar = новий автомобіль ();
Як було сказано вище, новий оператор створює об'єкт "Автомобіль" і повертає посилання на нього. Ця довідка зберігається у змінній типі автомобіля myCar. Отже, myCar - це примірник створеного об'єкта "Автомобіль".
Яка різниця між Об'єктом та Екземпляром?
Об'єкт - це суміжний блок пам'яті, який зберігає фактичну інформацію, яка відрізняє цей об'єкт від інших об'єктів, тоді як екземпляр є посиланням на об'єкт. Це блок пам'яті, який вказує на зорову адресу, де зберігається об’єкт. Два екземпляри можуть посилатися на один і той же об’єкт. Тривалість життя об'єкта та екземпляра не пов'язані. Тому екземпляр може бути нульовим. Після того, як всі екземпляри, що вказують на об’єкт, будуть видалені, об'єкт буде знищений.