Объект (программирование)


Объе́кт в программировании — сущность в цифровом пространстве, обладающая состоянием и поведением, имеющая поля и методы. Как правило, при рассмотрении объектов выделяется то, что объекты принадлежат одному или нескольким классам, которые определяют поведение (являются моделью) объекта. Термины «экземпляр класса» и «объект» взаимозаменяемы[1]. Аналогия: объект — то, что сделали по чертежу, класс — это чертёж.

Объект, наряду с понятием класс, является важным понятием объектно-ориентированного подхода. Объекты обладают свойствами наследования, инкапсуляции и полиморфизма[2].

Термин объект в программном обеспечении впервые был введен в языке Simula и применялся для моделирования реальности[1].

Экземпляр класса (англ. instance) — это описание конкретного объекта в памяти. Класс описывает поля и методы, которые будут доступны у объекта, построенного по описанию, заложенному в классе. Экземпляры используются для представления (моделирования) конкретных сущностей реального мира. Например, экземпляром класса стиральных машин может быть ваша стиральная машина, имеющая следующие свойства: компания-производитель «Вятка», наименование модели «Вятка-автомат», серийный номер изделия ВЯТ454647, ёмкость 20 л. В отличие от имени класса, имя экземпляра обычно начинается со строчной буквы.

Инстанцирование (англ. instantiation) — создание экземпляра класса. В отличие от слова «создание», применяется не к объекту, а к классу. То есть, говорят: (в виртуальной среде) создать экземпляр класса или, другими словами, инстанцировать класс. Порождающие шаблоны используют полиморфное инстанцирование.

Анонимный объект (англ. anonymous object) — это объект, который принадлежит некоторому классу, но не имеет имени.