Участники компьютерных игр.
Пользовательские типы данных.
Хранилища данных.
Группы людей.
Структуры данных.
Элементы интерфейса.
Физические объекты.
Объекты
Характеристики объектно-ориентированных языков
ОП: подход к организации программы
Объектно-ориентированное программирование никак не связано с процессом выполнения программы, а является лишь способом ее организации. Большая часть операторов C++ идентична операторам процедурных языков, в частности языка С. Внешне метод класса в C++ очень похож на обычную функцию языка С, и только по контексту программы можно определить, является ли функция частью процедурной С-программы или объектно-ориентированной программы на C++.
Здесь мы рассмотрим несколько основных элементов, входящих в состав объектно-ориентированных языков, в частности в состав языка C++.
Когда вы подходите к решению задачи с помощью объектно-ориентированного метода, то вместо проблемы разбиения задачи на функции вы сталкиваетесь с проблемой разбиения ее на объекты. Мышление в терминах объектов оказывается гораздо более простым и наглядным, чем в терминах функций, поскольку программные объекты схожи с объектами реального мира. Более подробно данный вопрос рассмотрен в главе 16 «Разработка объектно-ориентированного программного обеспечения».
Что должно представляться в программе в виде объектов? Окончательный ответ на этот вопрос может дать только ваше воображение, однако приведем несколько советов, которые могут оказаться полезными:
♦ Автомобили при моделировании уличного движения.
♦ Схемные элементы при моделировании цепи электрического тока.
♦ Страны при создании экономической модели.
♦ Самолеты при моделировании диспетчерской системы.
♦ Окна.
♦ Меню.
♦ Графические объекты (линии, прямоугольники, круги).
♦ Мышь, клавиатура, дисковые устройства, принтеры.
♦ Массивы.
♦ Стеки
♦ Связанные списки
♦ Бинарные деревья.
♦ Сотрудники.
♦ Студенты.
♦ Покупатели.
♦ Продавцы.
♦ Описи инвентаря.
♦ Списки сотрудников.
♦ Словари.
♦ Географические координаты городов мира.
♦ Время.
♦ Величины углов.
♦ Комплексные числа.
♦ Точки на плоскости.
♦ Автомобили в гонках.
♦ Позиции в настольных играх (шашки, шахматы).
♦ Животные в играх, связанных с живой природой.
♦ Друзья и враги в приключенческих играх.
Соответствие между программными и реальными объектами является следствием объединения данных и функций. Получающиеся в результате такого объединения объекты в свое время произвели фурор, ведь ни одна программная модель, созданная на основе процедурного подхода, не отражала существующие вещи столь точно, как это удалось сделать с помощью объектов.