Работа с объектами
Теперь мы переходим к написанию, выполнению и модифицированию нашей первой программы.
Предварительные требования: вы должны владеть основами работы с компьютером, уметь работать с каталогами (папками) и файлами. Среда разработки EiffelStudio должна быть инсталлирована на вашем компьютере и должна быть загружена система Traffic. Все остальные знания можно получить из этого курса и на поддерживающем сайте. Сайт книги и система Traffic: http://touch.ethz.ch/.
Текст класса
Некоторые лекции этой книги поддерживаются "программными системами" (проектами – коллекцией файлов, составляющих систему), включенными в поставку Traffic. В имени системы отражается название лекции (английское): объекты, интерфейсы, создание. В каталоге example данной поставки каждая система появляется в подкаталоге, имя которого также включает номер лекции: 02_object, 04_interfaces и так далее.
Запустите EiffelStudio и откройте "систему", названную objects. Точные детали того, как это делается, даны в приложении, описывающем среду разработки EiffelStudio.
Смотри "Установки проекта", E.2.
Почувствуй практику
Использование EiffelStudio
Так как эта книга фокусируется на принципах конструирования ПО, детали того, как использовать инструментальные средства EiffelStudio для выполнения примеров, вынесены в приложение к курсу: "Использование среды разработки EiffelStudio". Они доступны и на соответствующей веб-странице. Прочтите это приложение.
В случае если что-то пойдет не так, помните следующий совет.
Если вы запутались
Использование EiffelStudio
Если у вас нет опыта работы с компьютером, вполне вероятно, что вы совершите ошибку, уводящую вас от столбовой дороги. Старайтесь избегать этой ситуации, следуя в точности предписаниям, но если это все же случится, не паникуйте и еще раз проанализируйте приложение Е.
Программные тексты, появляющиеся в книге, и те, что вы будете видеть на экране компьютера при работе в EiffelStudio, немного отличаются из-за различия возможностей печатной книги и компьютера.
Начнем работу с элементом программы – классом, названным PREVIEW (предварительный просмотр), составляющим ядро нашей первой программы. Скопируйте текст этого класса.
Смотри снова: E.2, как копировать класс.
Отображение на дисплее должно выглядеть так:
Первая строчка говорит, что мы смотрим на "класс", одну из фундаментальных машин, из которых строится программа. Он назван PREVIEW, поскольку класс описывает небольшую часть просмотра путешествия по городу.
Первые две строки устанавливают также, что PREVIEW – наследник существующего класса TOURISM. Это означает, что PREVIEW расширяет TOURISM, имеющий много полезных свойств. Все, что вам нужно сделать, так это добавить свои собственные идеи в новый класс PREVIEW. Имена классов отражают отношение между ними: TOURISM описывает общее понятие туров по городу; PREVIEW рассматривает частный вид тура. Речь не идет о настоящем визите, а о предварительном просмотре, который можно выполнить, сидя с комфортом за своим столом.
Почувствовали магию?
Класс TOURISM является частью ПО, подготовленного специально для этой книги. Не строя все с нуля, а пользуясь комбинациями предопределенных свойств, вы сможете непосредственно изучить общие программистские концепции и получить практику, выполняя примеры программ.
Может показаться, что первая программа подобна магии. Это не так. Поддерживающее ПО – кажущееся магией – использует методы, изучаемые в этой книге. Шаг за шагом мы будем снимать пелену магии, в конце все станет явным, и вы сами сможете провести реконструкцию по вашему желанию.
Даже теперь ничто не мешает вам просмотреть поддерживающее ПО, например, класс TOURISM, поскольку все открыто. Но не ожидайте, что все сразу будет понятно.
Текст класса в общем случае описывает множество операций. Описание каждой операции является частью класса – его компонентом (feature). В данном примере есть только один компонент, названный explore. Часть класса с его описанием называется объявлением (declaration) компонента. Объявление включает:
- имя компонента – explore;
- комментарий: "--Показать город и маршрут";
- фактическое содержимое компонента, его тело, заключенное между ключевыми словами do и end – оно в данный момент пустое, но его предстоит заполнить.
Ключевое слово – это зарезервированное слово со специальным смыслом; его нельзя использовать для именования собственных классов и компонентов. Чтобы отличать ключевые слова, их всегда выделяют жирным шрифтом (bold). В данном тексте ключевыми словами являются: class, inherit, feature, do и end. Этих пяти слов хватит надолго.
Комментарий, такой как "--Показать город и маршрут", является поясняющим текстом, не влияющим на выполнение программы, но помогающий людям понять программный текст. Всюду в тексте класса два подряд идущих дефиса – два символа "--", задают начало комментария, продолжающегося до конца строки. Всегда по правилам хорошего стиля в объявление компонента класса следует сразу же после первой строчки включать комментарий, объясняющий роль компонента, как это здесь и сделано.