Кент Рейсдорф. BORLAND C++BUILDER. Раздел 1

Кент Рейсдорф. BORLAND C++BUILDER. Страница 98

J

]

Не правда ли, это выглядит немного устрашающе? Мне даже пришлось обратиться за помощью к друзьям по телеконференции BCPPLIB сети Com­puServe (спасибо, Пол!). Теперь взгляните на тот же пример, написанный с использованием библиотеки OWL фирмы Borland (листинг 5.2).

Листинг 5.2. OWL-код для загрузки и вывода на экран растрового изображения

Какой из вариантов вы предпочтете использовать? Для принятия решения вам даже не нужно знать, что именно делают эти фрагменты кода. Нетрудно заметить, что OWL-версия намного короче и легче для восприятия. (VCL облегчает работу еще больше, предоставляя компонент для работы с растро­выми изображениями, который вы можете поместить в форму. Я не хочу сейчас забегать вперед и отложу на некоторое время рассмотрение этих воз­можностей.)

Рассмотренные примеры дают понять, что представляют собой в целом библиотеки классов. Библиотеки скрывают от вас те детали, знание которых не обязательно. Все, что содержится в листинге 5.1, выполняется OWL-кодом из листинга 5.2. Вам не нужно знать все детали того, как работают классы OWL; возможно, у вас и не возникнет такого желания. Все, что требуется — это взять объекты, которые входят в библиотеку, и использовать их в своей программе.

Хорошие библиотеки реализуют все достоинства ООП. Одни делают это лучше, другие — хуже. Библиотеки OWL и VCL фирмы Borland служат великолепным примером объектно-ориентированного подхода к программи­рованию. Они обеспечивают тот уровень абстрактного представления данных, который требуется для профессиональной разработки приложений.

Какой ценой все это дается?

Нетрудно сообразить, что за облегчение работы приходится чем-то пла­тить. Это действительно так. Программа, написанная с использованием биб­лиотечных классов, в общем случае должна иметь больший размер и работать медленнее, чем ее аналог на Си. Однако это верно лишь отчасти. Приложения, использующие библиотеки классов, не обязательно будут медленнее про­грамм, написанных на Си. Конечно, языку Си++ присуща некоторая избы­точность, но для типичных Windows-программ это практически незаметно.

Web-дизайн (с) 2010 All rights reserved