Классы, а не объекты - предмет обсуждения

Классы, а не объекты - предмет обсуждения

Какова центральная концепция объектной технологии? Необходимо дважды подумать, прежде чем ответить "объект". Объекты полезны, но в них нет ничего нового.

С тех пор, как структуры используются в Cobol, с тех пор, как в Pascal существуют записи, с тех пор как программист написал на C первое определение структуры, человечество располагает объектами.

Объекты важны при описании выполнения ОО-систем. Но базовым понятием объектной технологии является класс. Обратимся вновь к его определению. (Детальное обсуждение объектов содержится в следующей лекции.)

Определение класса

Класс - это абстрактный тип данных, поставляемый с возможно частичной реализацией.

Абстрактные типы данных (АТД) являются математическим понятием, пригодным на этапе подготовки спецификации - в процессе анализа. Понятие класса, предусматривая частичную или полную реализацию, обеспечивает необходимую связь с разработкой ПО на этапах проектирования и программирования. Напомним, класс называется эффективным, если его реализация полна, и отложенным - при частичной реализации.

Аналогично АТД, класс - это тип, описывающий множество возможных структур данных, называемых экземплярами (instances) класса. Экземпляры АТД являются абстракциями - элементами математического множества. Экземпляр класса конкретен - это структура данных, размещаемая в памяти компьютера и обрабатываемая программой.

Например, если определить класс STACK, взяв за основу спецификацию АТД из предыдущей лекции и добавив информацию, необходимую для адекватного представления, то экземплярами класса будут структуры данных - конкретные стеки. Другим примером является класс POINT, моделирующий точку на плоскости. Если для представления точки выбрана декартова система координат, то каждый экземпляр POINT представляет собой запись с полями x, y - абсциссой точки и ее ординатой.

Термин "объект" появляется как побочный продукт определения "класса". Объект это просто экземпляр некоторого класса.

Программные тексты, описывающие создаваемую систему, содержат определения классов. Объекты создаются только в процессе выполнения программ.

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

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

R.9 классы

Из книги Справочное руководство по C++ автора Страустрап Бьярн

R.9 классы Класс есть тип. Его имя используется как имя-класса (§R.9.1), т.е. становится зарезервированным словом в его области видимости.имя-класса: идентификаторДля образования конструкции имя-класса используются спецификации-класса и спецификации-сложного-типа (§R.7.1.6).


Объекты DataSet с множеством таблиц и объекты DataRelation

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

Объекты DataSet с множеством таблиц и объекты DataRelation До этого момента во всех примерах данной главы объекты DataSet содержали по одному объекту DataTable. Однако вся мощь несвязного уровня ADO.NET проявляется тогда, когда DataSet содержит множество объектов DataTable. В этом случае вы можете


Классы

Из книги Delphi. Учимся на примерах автора Парижский Сергей Михайлович

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


Объекты OS/400 и системные объекты MI

Из книги Основы AS/400 автора Солтис Фрэнк

Объекты OS/400 и системные объекты MI Несколько типов объектов имеются и в OS/400, и в MI. Типы объектов OS/400 перечислены в таблице 5.1. Для сравнения, в таблице 5.2 приведены системные объекты MI. Помните, что в каждой новой версии AS/400 добавляются новые функции и даже новые объекты.


Глава 3 Классы и объекты

Из книги Объектно-ориентированный анализ и проектирование с примерами приложений на С++ автора Буч Гради

Глава 3 Классы и объекты И инженер, и художник должны хорошо чувствовать материал, с которым они работают. В объектно-ориентированной методологии анализа и создания сложных программных систем основными строительными блоками являются классы и объекты. Выше было дано


Информация как феномен современной культуры и как предмет познания

Из книги Информация. Собственность. Интернет. Традиция и новеллы в современном праве автора Якушев Михаил Владимирович

Информация как феномен современной культуры и как предмет познания Любой объект правового регулирования является одновременно, и даже в первую очередь, элементом действительности, компонентом объективной картины мира. Действительность, отличная от природы и культуры,


1.1. Информатика. Предмет информатики. Основные задачи информатики

Из книги Основы информатики: Учебник для вузов автора Малинина Лариса Александровна

1.1. Информатика. Предмет информатики. Основные задачи информатики Задачи накопления (хранения), обработки и передачи информации стояли перед человечеством на всех этапах его развития. Каждому этапу соответствовал определенный уровень развития средств информационного


Отложенные классы как частичные интерпретации: классы поведения

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

Отложенные классы как частичные интерпретации: классы поведения Не все отложенные классы так близки к АТД как STACK. В промежутке между полностью абстрактным классом, таким как STACK, в котором все существенные компоненты отложены, и эффективным классом, таким как FIXED_STACK,


Встроенные объекты (классы)

Из книги Windows Script Host для Windows 2000/XP автора Попов Андрей Владимирович

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


Объекты и классы в PHP

Из книги Курс "Язык программирования PHP" автора Савельева Нина Владимировна

Объекты и классы в PHP В этой лекции мы рассмотрим объектную модель, предлагаемую языком PHP. Будут представлены понятия класса и объекта, способы их задания и использования, способы расширения классов, конструкторы классов, механизмы наследования и т.п. Кроме того, мы


Классы объектов и конкретные объекты

Из книги VBA для чайников автора Каммингс Стив

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


О цвете кожи: опыт обсуждения одной адаптации человека с обоснованием далекоидущих выводов о специфике действия экологических факторов Дмитрий Шабанов

Из книги Цифровой журнал «Компьютерра» № 195 автора Журнал «Компьютерра»

О цвете кожи: опыт обсуждения одной адаптации человека с обоснованием далекоидущих выводов о специфике действия экологических факторов Дмитрий Шабанов Опубликовано 14 октября 2013 Обсуждал-обсуждал я со студентами на семинарах по экологии один


Три вывода, которые можно сделать после обсуждения причин различий между людьми по цвету их кожи Дмитрий Шабанов

Из книги Цифровой журнал «Компьютерра» № 197 автора Журнал «Компьютерра»

Три вывода, которые можно сделать после обсуждения причин различий между людьми по цвету их кожи Дмитрий Шабанов Опубликовано 31 октября 2013 Две общем-топредыдущие колонки были посвящены анализу одного, в , весьма простого признака человека —


18.3.15. Проверка на предмет создания каталога

Из книги Linux и UNIX: программирование в shell. Руководство разработчика. автора Тейнсли Дэвид

18.3.15. Проверка на предмет создания каталога В продолжение темы каталогов рассмотрим следующий сценарий. Сценарий получает параметр и пытается создать каталог при помощи значения этого параметра. Параметр передается на командную строку и заново присваивается


Классы

Из книги Описание языка PascalABC.NET автора Коллектив РуБоард