Глава 28. Система ClassExpert_________________________________877
Создание классов
Классы являются фундаментальными единицами объектно-ориентированного программирования. Возникновение концепции классов явилось следствием естественной эволюции языков программирования. Ранние языки, такие как Ассемблер или Фортран Г/, использовали для управления работой программ и хранения данных переменные. В более поздних языках, таких как PASCAL и С, появилась возможность объединять отдельные переменные в определяемые пользователем типы данных — структуры. Это нововведение позволило программистам логически группировать переменные и тем самым упростить сопровождение и развитие программ.
Следующим логическим шагом в развитии языков программирования стало появление возможности помещать внутрь подобных структур и код. Это позволило объединять в логические единицы не только данные, но и оперирующие с ними функции. Этот тип объединения, в отличие от прежних структур, стал называться классом.
Классы, как превосходный способ задания свойств объектов,* были с энтузиазмом восприняты сообществом программистов. Причина этого заключается в осознании необходимости уверенно без противоречий управлять все усложняющимися структурами данных. Объекты грамотно спроектированных классов соответствуют нашим интуитивным понятиям о том, каким объект должен быть. Когда мы видим мяч, мы знаем, что на молекулярном уровне это весьма сложный объект. Производители мячей изучили свойства материалов, эксплуатационные свойства, долговечность и т. д., написали тома по технологии производства и использования. Игроки знают, что эта информация в принципе доступна, но очень редко ею интересуются. Их взаимодействие с баскетбольным мячом больше выражается в терминах дриблинга, пасов и бросков. Другими словами, они обращаются с мячом как с объектом.
Чтобы класс был хорош, он должен позволять обращаться со своими объектами столь же свободно. Объект может быть очень сложным и замысловатым для инженеров, создающих и развивающих классы, но для пользователей он должен быть достаточно простым. Класс окон должен содержать весь код для обеспечения необходимого поведения оконного объекта, но в то же время его должно быть легко использовать в программах. Чтобы смотреть телепередачи, вы не обязаны в деталях понимать, как работает телевизор. Точно так же, для того чтобы перемещать окно, вы не обязаны знать, как оно перерисовывает себя при перемещении.
Создание приложения
Как вы узнали из главы 27, создать в Borland C++ 5 приложение для Windows можно очень просто. Для создания приложения, которое будет использоваться в этой главе, надо выполнить следующие шаги: