Объектное программирование
В прошлой главе вы познакомились с грамматикой объектов. Сами объекты были простые и бессмысленные. В этой главе объекты наполнятся смыслом и я смогу показать вам, какая от них польза. То есть начинается настоящее объектное программирование.
Давным-давно введение процедур в программирование резко повысило надежность создаваемых больших программ и их обозримость, сделало сам процесс программирования более удобным. Следующим шагом на пути совершенствования программирования стало введение объектов. Объект – это синтез данных (в частности переменных величин, констант) и действий (процедур, функций), которые эти данные обрабатывают.
Объекты в программировании напоминают объекты реального мира, которые тоже в некотором смысле представляют синтез данных и действий. Например, чтобы описать стенные часы, мы должны описать две их стороны: совокупность их составных частей (радиусы шестеренок, длина маятника и прочее – в общем, «данные»); совокупность процессов взаимодействия этих частей (как качается маятник, как шестеренка цепляет шестеренку и так далее – в общем – «действия»). Если взять живой организм, то данные – это строение его тела (то что изучает анатомия), а действия – процессы функционирования организма (то что изучает физиология).
Почти все приложения Windows и сама операционная система Windows запрограммированы на основе объектного подхода. Типичные примеры объектов в Windows – окна, кнопки, флажки и пр. Все они характеризуются с одной стороны данными (размер, цвет и пр.), а с другой стороны – действиями, которые определяют их поведение.
Эта глава, пожалуй, самая сложная из всех. Первая ее половина до предела насыщена новым, непривычным материалом. До предела уменьшите темп изучения. Все объяснено. Не надо торопиться. Наградой вам будет проект игры «Ловец» во второй половине главы.