Введение

Набор данных, произвольно заданный с указанными свойствами, используемый в некоторых парадигмах программирования.

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

Языки на основе объектов

Важным различием между языками программирования является разница между объектно-ориентированным и объектно-базированным языком. Язык обычно считается объектно-базированным, если он включает в себя базовые возможности для объекта: идентификацию, свойства и атрибуты. Язык считается объектно-ориентированным, если он является объектно-базированным и также обладает возможностями полиморфизма, наследования, инкапсуляции и, возможно, композиции. Полиморфизм – это способность перегружать имя функции, реализуя различные варианты поведения в зависимости от того, какие объекты передаются ей в качестве аргументов. Традиционная передача сообщений различает только первый объект и рассматривает это как "отправку сообщения" этому объекту. Однако некоторые объектно-ориентированные языки программирования, такие как Flavors и Common Lisp Object System (CLOS), позволяют учитывать более одного параметра функции при определении поведения. Наследование – это возможность создавать подкласс на основе существующего класса, формируя новый класс, который является подклассом исходного и наследует все ограничения данных и поведение родительского класса, при этом добавляя новые и/или изменяя некоторые из них.

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

В объектно-ориентированном программировании объект – это абстрактный тип данных, дополненный полиморфизмом и наследованием. Вместо структурирования программ как кода и данных, объектно-ориентированная система объединяет их, используя концепцию "объекта". Объект имеет состояние (данные) и поведение (код). Объекты могут соответствовать реальным объектам. Например, графическая программа будет содержать объекты, такие как круг, квадрат и меню. Система онлайн-покупок будет иметь объекты, такие как корзина, покупатель и товар. Эта система будет поддерживать действия, такие как оформление заказа, оплата и предоставление скидок. Объекты проектируются в виде классовых иерархий. Например, в системе онлайн-покупок могут быть классы верхнего уровня, такие как электронные товары, кухонные товары и книги. Возможны дальнейшие уточнения, например, в категории электронных товаров: CD-плеер, DVD-плеер и т.д. Эти классы и подклассы соответствуют множествам и подмножествам в математической логике.