04.06.2023

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


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

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

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

Связанные понятия

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

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

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

Инициализация (англ. initialization) — присвоение начальных значений полям объекта.

Время жизни объекта — время с момента создания объекта (конструкция) до его уничтожения (деструкция).

Практический подход

За исключением прототипно-ориентированных языков вроде Lua и JavaScript, где понятие «класс» не используется вовсе, в большинстве объектно-ориентированных языков программирования (таких как Java, C++ или C#), объекты являются экземплярами некоторого заранее описанного класса.

Объекты в таких языках создаются с помощью конструктора класса и уничтожаются либо с помощью деструктора класса (например, в C++), либо автоматически с использованием сборщика мусора — например, в Java и C# (C# поддерживает деструкторы, но они вызываются сборщиком мусора), либо используя внутренний счётчик ссылок на объект и сообщения («dealloc» в Objective-C). Объект хранится в виде данных всех его полей и ссылок на таблицу виртуальных методов и RTTI своего класса. Класс определяет набор функций и служебной информации для построения объекта, в том числе необходимый объём памяти для хранения объекта.

В языке Python все значения являются объектами, даже классы. В этом языке можно построить класс, экземплярами которого будут классы. Такие классы называются метаклассами.

Пример кода

Пример создания нового объекта и работы с ним в языке программирования Java:

// Создание экземпляра класса ArrayList с именем list ArrayList list = new ArrayList(); // Добавление экземпляров класса Integer в объект list list.add(new Integer(1)); list.add(new Integer(2)); list.add(new Integer(3));

Подразумевается, что класс ArrayList уже описан в программном коде и его описание содержит определение для конструктора класса и метода add.


Похожие новости:

Нулевой морфизм

Нулевой морфизм
В теории категорий нулевой морфизм — это морфизм, обобщающий свойства линейных отображений в ноль. Определение Пусть C — категория, и f : X → Y — морфизм в C. f называется постоянным морфизмом, если

Технический объект

Технический объект
Технический объект — в технике, предмет, который рассматривается, имеющий несколько значений. Объектом может выступать сборочная единица, деталь, компонент, элемент, устройство, функциональная

Блок инициализации

Блок инициализации
Блок инициализации (initialization block) — понятие в объектно-ориентированном программировании, в основном известное из языка Java, которое представляет собой последовательность команд, выполняемых

Онтология (информатика)

Онтология (информатика)
Онтология в информатике (новолат. ontologia от др.-греч. ὤν род. п. ὄντος — сущее, то, что существует и λόγος — учение, наука) — это попытка всеобъемлющей и подробной формализации некоторой области
Комментариев пока еще нет. Вы можете стать первым!

Добавить комментарий!

Ваше Имя:
Ваш E-Mail:
Введите два слова, показанных на изображении: *
Популярные новости
Тройник медный – особенности сантехнического элемента
Тройник медный – особенности сантехнического элемента
Медный тройник – это соединительный элемент, который применяется для создания разветвлений в...
Геологические изыскания для строительства: ключ к успешной застройке
Геологические изыскания для строительства: ключ к успешной застройке
Когда дело касается строительства дома или другого сооружения, грамотное проведение геологических...
Как выбрать лучший товар в интернете. Профессиональные рекомендации на popularsale.ru
Как выбрать лучший товар в интернете. Профессиональные рекомендации на popularsale.ru
Потребителю порой трудно сделать правильный выбор товара из множества предложений в интернете. С...
Все новости