Основы объектно-ориентированного программирования

advertisement
Государственное образовательное учреждение дополнительного
профессионального образования (повышения квалификации) работников
образования Московской области
(ГОУ Педагогическая академия)
Кафедра информационно-коммуникационных технологий
Итоговый практико-значимый проект
Методика преподавания темы
«Основы объектно-ориентированного программирования»
по курсу вариативного учебного модуля
«Методика преподавания углубленного курса алгоритмики и
программирования с учетом требований новых образовательных
стандартов и внешней оценки качества подготовки выпускников по
информатике (ЕГЭ)»
Слушатель:
Кочеткова Нина Александровна,
учитель информатики
МОУ «Лицей №1 пос.Львовский»
Подольского района
Московской области
Преподаватель:
Кащей В.В., доцент
канд.пед.наук
Академия
2013
Оглавление
Введение ................................................................................................................... 3
Методика преподавания темы «Основы объектно-ориентированного
программирования» ................................................................................................ 4
Заключение ............................................................................................................ 34
Список литературы ............................................................................................... 35
2
Введение
Вопросы преподавания программирования в средней школе находятся
в центре внимания с начала 60-х годов прошлого века. В исследованиях,
проведенных И. Н. Антиповым, Г. А. Бабушкиной И.А. Звенигородским, В.
Н. Касаткиным, М. П. Лапчиком, А. С. Лесневским, В. М. Монаховым, С. И.
Шварцбурдом, М.В. Швецким и др. были рассмотрены вопросы структуры,
содержания обучения программированию, выбора учебного языка и др.
Технология
программирования
претерпевает
изменения.
Современное
состояние информатики в средней школе характеризуется повсеместным
переходом
к
новой
объектно-ориентированной
парадигме
программирования.
Отсюда актуальным становится соблюдение дидактического принципа
научности,
требующего
соответствия
содержания
обучения
уровню
современной науки, и формирование у школьников представлений о частных
и общенаучных методах познания.
Анализ учебных программ базового курса информатики средней
школы позволяет сделать вывод о том, что объектно-ориентированное
программирование (ООП) в этом курсе не находит должного отражения.
Обучение ООП в учебных программах представлено фрагментарно, а во
многих
учебных
пособиях, рекомендованных
для
школ,
полностью
отсутствует. Следует отметить, что на современном этапе развития школьной
информатики
профильном
статус
курсе
объектно-ориентированного
не
совсем
определен,
хотя
программирования
в
в
Государственном
образовательном стандарте сформулирован его обязательный минимум.
Эти обстоятельства значительно уменьшают уровень научности курса
информатики, ослабляют процесс развития мышления школьников в
процессе обучения.
3
Методика преподавания темы «Основы объектноориентированного программирования»
Концепция объектно-ориентированного программирования
(ООП)
возникла в середине 80-х годов. Главная ее идея в том, что программное
приложение, как и окружающий нас мир, должно состоять из объектов,
обладающих собственными свойствами и поведением.
Для ответа на вопрос, какие основные идеи современного состояния
программирования
должны
быть
отражены
в
профильном
курсе
информатики, обратимся к истории программирования. Каждый этап
развития определен своими принципами декомпозиции, абстрагирования и
иерархии. Рассмотрим этапы развития программирования: операциональный,
структурный и объектно-ориентированный.
Операциональный этап (1954 - 1965 г.). Были созданы языки
программирования: FORTRAN I и II, ALGOL 58, 60, COBOL, LISP и др.
Базовыми идеями программирования являлись подпрограмма, типы данных и
их описание, раздельная компиляция, блочная структура, обработка списков,
указатели и т. д. Программа «собиралась» из мелких деталей, отдельных
операций и имела достаточно простую структуру.
Структурный
этап
(1966
-
1985
г.).
Здесь
под
термином
«структурный» понимается нисходящее проектирование и модульное
программирование. Суть нисходящего конструирования программ состоит в
разбивке
большой
задачи
на
меньшие
подзадачи,
структурного
стиля
которые
могут
рассматриваться отдельно.
Характерными
чертами
являются:
4
программирования
•
простота и ясность (программа легко читается и анализируется,
существует
возможность
включать
в
текст
программ
необходимые
комментарии);
•
использование только базовых конструкций;
•
отсутствие многоцелевых блоков;
•
отсутствие неоправданно сложных арифметических и логических
конструкций;
•
размещение в строке программы не более одного оператора
языка программирования;
•
содержательность имен переменных.
Модульное программирование. В данном подходе задача разбивается
на достаточно независимые фрагменты, и ее решение оформляется в виде
модулей. Модуль имеет строго определенный интерфейс и скрытую часть.
Разработан механизм включения модулей в разрабатываемую программу,
созданы библиотеки модулей. Языками структурного программирования
являются языки: ПЛ/1, ALGOL 68, Pascal, Simula, С, Ada (наследник ALGOL
68, Pascal, Simula) и т. д.
Объектно-ориентированный этап (с 1986 г. по н.вр.). В него
включают и технологию визуального программирования. На данном этапе
развитие
программирования
происходит
в
двух
взаимосвязанных
направлениях:

разработка объектно-ориентированного подхода;

разработка инструментальных сред для создания программных
проектов, реализующих на новом витке спирали принципы декомпозиции,
абстракции и иерархии.
Данное обстоятельство обусловлено тем, что после разработки
стандартов структурного программирования стало возможным поставить
процесс создания программных продуктов на промышленную основу.
Однако рост сложности программного обеспечения и необходимость
5
сокращения
сроков
удовлетворение
его
которых
разработки
стали
потребовало
предъявлять
разработки
новых
требования,
технологий
программирования. Были проведены серьезные исследования в области
методологии проектирования программных систем, в частности, разработка
методов
декомпозиции,
Результатом
таких
абстрагирования
исследований
и
стала
построения
иерархии.
разработка
объектно-
ориентированной методологии. При традиционных подходах к разработке
программных продуктов всегда разделялись данные и процессы их
обработки. Вследствие этого технологии структурного подхода были
ориентированы, в первую очередь, на процессы обработки данных, их
последующую сортировку с целью выделения необходимых для работы
данных и организации информационных потоков между связанными
процессами. Объектно-ориентированная технология разработки программ
объединяет данные и процессы в логические сущности - объекты, которые
имеют способность наследовать характеристики одного и более объектов,
обеспечивая тем самым повторное использование программного кода.
Основным элементом конструирования объектно-ориентированной
программы является модуль, составленный из логически связанных
объектов.
Технология
объектно-ориентированного
программирования
явилась результатом эволюции методов программирования в направлении
ярко
выраженного
конструктивного
использования
принципов
структуризации, модульности и абстракции. Объектно-ориентированное
программирование характеризуется тремя основополагающими идеями:
инкапсуляцией, наследованием, полиморфизмом.
Инкапсуляция – комбинирование данных с процедурами и функциями,
которые манипулируют этими данными. В результате получается новый тип
данных – объект.
Наследование – это возможность использования уже определенных
объектов для построения иерархии объектов производных от них. Каждый из
6
«наследников» наследует описание данных «прародителя» и доступ к
методам их обработки.
Полиморфизм – это возможность определения единого по имени
действия (процедуры или функции), применимого одновременно ко всем
объектам иерархии наследования, причем каждый объект иерархии может
«заказывать» особенность реализации этого действия над «самим собой».
Первым языком с элементами ООП был язык Симула-67. В ТурбоПаскале, начиная с версии 5.5, появились средства ООП. Итогом развития
Турбо-Паскаля в этом направлении стало создание фирмой Borland системы
программирования
Delphi
(Делфи).
Использование
этой
системы,
в
частности, даёт возможность легко и быстро программировать сложный
графический интерфейс.
В данной работе объектно-ориентированное программирование будет
рассматриваться с использованием среды Delphi. В его основе лежит язык
Object
Pascal.
Язык
программирования
Pascal
является
базовым
в
большинстве университетов страны, в том числе и педагогических.
Вследствие этого, практически все учителя информатики владеют основами
программирования на языке Pascal. Поэтому, именно Delphi, должен стать
базовым языком в школах для изучения объектно-ориентированного
программирования.
Выбор Pascal в качестве языка для обучения сделан неслучайно:

во-первых, Pascal признан сам лучшим языком для обучения
основам программирования;

во-вторых, принципы программирования, заложенные в Pascal,
находят свое отражение во всех других языках, значит, изучив Pascal, можно
легко перейти к любому другому языку программирования;

в-третьих, Pascal изучается в большинстве высших учебных
заведений страны.
7
Естественно, с появлением объектно-ориентированной версии Object
Pascal, встал вопрос об изучении основ объектно-ориентированного
программирования в школьном курсе. Изучение Delphi в школьном курсе
является логическим продолжением непрерывного курса информатики.
Овладение основами программирования на Delphi позволит учащимся
реализовать свои творческие проекты в соответствии с современными
требованиями.
Delphi - идеальный продукт для школьного курса информатики.
Изучение данного языка программирования в школьном курсе имеет ряд
преимуществ:
•
Delphi - современный язык программирования, отражающий все
мировые тенденции в области информационных технологий;
•
концепция
языка
проста
и
понятна
уже
начинающему
программисту;
•
в основе Delphi лежит язык программирования Pascal, который
изучается в большинстве школ;
•
изучение Delphi связано с изучением вспомогательных разделов
курса информатики таких, как: операционные системы, создание и
редактирование текста, создание и редактирование графических объектов,
мультимедиа, базы данных, компьютерные сети.
I.
Структура программы в Object Pascal
Программа, написанная на языке Object Pascal, состоит из ряда
разделов (или блоков). Начало каждого раздела указывается с помощью
специальных зарезервированных слов. В общем виде программа Object Pascal
имеет следующий вид:
// Заголовок программыимя_программы;
// Раздел объявления используемых модулей
8
Модуль_1, Модуль__2, Модуль_3;
// Раздел объявления используемых меток
Метка_1, Метка_2;
// Раздел описания констант
идентификатор_константы_1 = значение_1;
идентификатор_константы_2 = значение_2;
идентификатор_константы_3 = выражение_1;
// Раздел описания пользовательских типов
Туре
Идентификатор_типа_1 = определение_типа_1;
идентификатор_типа_2 = определение_типа_2;
// Раздел объявления переменных
идентификатор_переменной_1 : определение_ переменной 1;
идентификатор_переменной_2,
идентификатор_переменной_3 : идентификатор_типа_2;
// Раздел объявления процедур и функций программыпроцедура_1;
// текст процедурыфункция_1 : определение_типа_1;
// текст функции
// текст программы.
Заголовок программы
В заголовке после служебного слова Program указывается имя
программы. Хотя заголовок программы не является обязательным разделом,
при написании программы в среде Delphi имя программы надо указывать.
При этом имя основного файла проекта должно совпадать с именем
программы, указанным в заголовке.
Заголовок программы может быть только один; он обязательно должен
быть первой строкой программы.
9
Раздел объявления модулей
Начало
раздела
объявления
модулей
указывается
с
помощью
директивы Uses. Имена используемых модулей просто перечисляются через
запятую. Программа может содержать только один блок Uses, причем он
должен следовать сразу за заголовком программы.
Разделов объявления меток, типов, констант и переменных может быть
несколько, и они могут следовать в любом порядке.
Раздел описания меток
Т.к.
использование
меток
считается
плохим
тоном
в
программировании, объяснение их в школе лучше пройти стороной.
Раздел описания типов
В Object Pascal существует довольно большое количество стандартных
типов и множество типов, описанных в стандартных модулях. Однако при
разработке программ, особенно объектно-ориентированных, программисту
необходима возможность создавать свои пользовательские типы данных,
которые носят название «типы данных, определяемые пользователем». Для
описания пользовательских типов используется раздел объявления типов,
начинающийся с директивы Туре. При создании типа указывается его
идентификатор и после знака равенства приводится описание типа. Самым
простым
способом
объявления
собственного
типа
является
просто
объявление типа, аналогичного уже существующему.
Идентификатор типа может содержать буквы латинского алфавита,
цифры
и
знак
подчеркивания.
Первым
символом
идентификатора
обязательно должна быть либо латинская буква, либо символ подчеркивания.
Раздел переменных
Начало раздела переменных объявляется с помощью служебного слова
Var. В данном разделе должны быть описаны все переменные программы.
Компилятор Object Pascal не допускает использования переменных, не
объявленных в разделе Var.
10
При объявлении переменной указывается её идентификатор и через
двоеточие тип переменной.
var
идентификатор_переменной_1 : integer;
Для нестандартных типов имя типа должно быть описано в разделе
Туре, находящемся выше раздела Var, в котором оно используется.
Идентификатор переменной может состоять из символов латинского
алфавита,
цифр
и
символов
подчеркивания.
Первым
символом
идентификатора обязательно должна быть латинская буква или символ
подчеркивания.
Раздел констант
Раздел констант содержит объявления констант и начинается с
директивы Const. Константа фактически является переменной, значение
которой устанавливается не в процессе выполнения программы, а на этапе
компиляции. Значение константы не может изменяться программно, при
попытке присвоить константе какое-либо значение компилятор выдает
сообщение
об
ошибке.
При
объявлении
константы
указывается
идентификатор и через знак равенства - значение или выражение. Тип
константы определяется присваиваемым ей значением или типом результата,
получаемого при вычислении выражения.
Идентификатор константы может состоять из символов латинского
алфавита,
цифр
и
символов
подчеркивания.
Первым
символом
идентификатора обязательно должна быть латинская буква или символ
подчеркивания.
Помимо обычных констант, в Object Pascal можно использовать так
называемые типизированные константы, но изучать их в школе не
целесообразно.
11
II.
Типы данных в Object Pascal
Язык Object Pascal отличается строгой типизацией данных. При
присваивании
переменной
какого-либо
значения
компилятор
всегда
проверяет соответствие типов. Поэтому все переменные, используемые в
программе, обязательно должны быть описаны в разделе объявления
переменных.
Типы данных, используемые в Object Pascal, можно разделить на две
группы: простые и структурные.
В последних версиях языка Object Pascal добавлена возможность
объявления так называемых вариантных типов. Вариантные переменные
могут динамически изменять свой тип в процессе выполнения программы.
Изучение их не стоит вносить в школьную программу.
Простые типы
Простыми являются типы данных, которыми напрямую может
манипулировать процессор (или математический сопроцессор). Простые
типы делятся на две группы: порядковые и действительные.
Порядковые типы
Порядковые типы подразделяются на целые, символьные, логические,
перечисляемые и диапазонные.
Целые типы. В переменных целого типа отсутствует дробная часть. В
Object Pascal определено довольно большое количество стандартных целых
типов, различающихся наличием или отсутствием знака, а также занимаемым
объемом памяти. Диапазон значений каждого типа однозначно определяется
этими двумя факторами: для n-разрядного числа без знака диапазон значений
от 0 до 2n, для числа со знаком - от -2n-1 до 2n-1-1.
Целые типы Object Pascal
Обозначение типа
Диапазон значений
Без знака
12
Занимаемый объем памяти
Byte
0... 255
8 бит
Word
0... 65 535
16 бит
LongWord
0... 4 294 967 295
32 бита
Cardinal
0... 4 294 967 295
32 бита
Shortlnt
-128... 127
8 бит
Smalllnt
-32 768... 32 767
16 бит
Integer
-2 147 483 648... 2
147483647
32 бита
Longlnt
-2 147 483 648... 2 147
483 647
32 бита
Int64
-263 … 263- 1
64 бита
Co знаком
Символьные типы. Классическим методом представления символьной
информации
является
использование
7-разрядной
кодировки
ASCII
(American Standard Code for Information Interchange - Американский
стандартный код для обмена информацией). Однако информация обычно
хранится в 8-разрядном участке памяти. С помощью 8 бит можно
закодировать 256 символов. Кодировка первых 128 символов является
стандартной и используется для представления букв латинского алфавита,
цифр, символов арифметических действий и других символов. Следующие
128 символов (с кодами от 128 до 255) называются расширенным набором
ASCII. Существует несколько вариантов расширенного набора символов,
которые используются для отображения символов русского алфавита,
символов псевдографики и т.п.
В Object Pascal поддерживается как кодировка ANSI (8-разрядная), так
и кодировка UNICODE (16-разрядная). Соответственно определены два
13
символьных типа:, или Char, - символьный тип с 8-разрядной кодировкой
ANSI;- символьный тип с 16-разрядной кодировкой UNICODE.
Логические типы. Переменные логического типа могут принимать
только два значения - true (истина) или false (ложь). В классическом языке
Pascal был определен только один логический тип - Boolean. Переменные
данного типа занимали в памяти 1 байт. В последних версиях языка Object
Pascal для совместимости с другими языками определены три логических
типа, различающихся занимаемым объемом памяти:
Boolean, или ByteBool, - 1 байт;
WordBool - 2 байта;- 4 байта.
Перечисляемые
типы.
Этот
тип
определяется
перечислением
соответствующих идентификаторов, разделяемых запятыми и заключаемых в
круглые скобки. Переменные данного типа содержат дискретные значения,
представляемые не числами, а именами:
type
перечисляемый_тип = (first, second, third);
В данном примере перечисляемый_тип представляет идентификатор
перечисляемого типа, а идентификаторы first, second и third - возможные
значения переменной типа перечисляемый_тип. Если в разделе var объявить
переменную типа перечисляемый_тип, то этой переменной можно будет
присваивать только значения first, second и third. Значения перечисляемых
типов не являются числами и им нельзя присваивать числовые значения.
Диапазонные
типы.
Переменные
диапазонного
типа
содержат
значения, соответствующие некоторому заданному диапазону любого
порядкового типа.
Действительные типы
Переменные действительного типа используются для представления
чисел, имеющих дробную часть. В современной вычислительной технике
действительные числа представляются в форме с плавающей точкой.
14
В Object Pascal используются три действительных типа: Single, Double
и Extended, предназначенные для хранения чисел с разрядностью 32, 64 и 80
бит соответственно. В более ранних версиях Object Pascal был определен тип
Real,
в
котором
для
представления
чисел
с
плавающей
точкой
использовались 48 бит. Этот формат был несовместим с форматами
математического сопроцессора и требовал дополнительного времени на
преобразование в стандартный вид. В последних версиях Object Pascal тип
Real аналогичен типу Double, а для совместимости со старыми версиями
введен дополнительный тип Real48, использующий 48 бит.
Помимо форматов с плавающей точкой, в Object Pascal определены два
вещественных формата с фиксированной точкой: Comp и Currency.
Структурные типы
Структурные типы данных позволяют использовать переменные,
содержащие несколько значений. Элементами структурных типов можно
манипулировать и по отдельности, и как единым целым. Элементы
структурного типа могут быть как простыми, так и структурными.
В Object Pascal определены следующие структурные типы:
строки, массивы, множества, записи, файлы, классы.
Строковые типы
В Object Pascal определены три типа для представления текстовых
строк. Данный тип аналогичен типу String ранних версий языка Pascal. Его
переменные
могут
фиксированным
содержать
размером
256
строку
байт.
длиной
до
Фактически,
255
тип
символов
с
ShortString
представляет собой массив символов, индексированный от 0 до 255. Под
хранение символов строки выделяются байты с 1-го по 255-й. Байт с нулевым
номером используется для хранения длины строки.. Переменные этого типа
могут хранить строку практически неограниченной длины. Максимальное
количество символов в такой строке ограничено только адресным
пространством компьютера (например, на компьютерах IBM PC число
15
символов в строке может достигать величины 232). Переменные данного
типа занимают в памяти 4 байта и представляют собой адрес первого
символа строки.
WideString. Этот тип аналогичен типу AnsiString, но, в отличие от
последнего, символы строки WideChar представляются в кодировке
UNICODE, то есть занимают два байта.
Массивы
В языке Object Pascal, используемом в системе Delphi, определены два
типа массивов - статические и динамические.
Статические
массивы
идентичны
обычным
массивам,
которые
использовались еще в классическом языке Pascal.
Динамический массив представляет собой указатель на первый элемент
массива. При объявлении динамического массива не указывается его размер,
то есть диапазон изменения индекса.
Var
А ; array of char;
Хотя
переменная
динамического
массива
фактически
является
указателем, работа с динамическим массивом почти идентична работе со
статическим массивом. Отличие наблюдается только при выполнении
операции присваивания переменных. Например, если объявлены два
динамических
массива
А1
и
А2, то
после
выполнения
операции
присваивания А1 := А2 обе переменных будут ссылаться на один и тот же
фрагмент памяти, то есть фактически будут являться одним массивом.
Изменение элементов массива А1 будет приводить к такому же изменению
тех же элементов массива А2.
Нумерация элементов динамических массивов всегда начинается с
нуля.
16
Множества
Множество
представляет
собой
набор
значений
какого-либо
порядкового типа. Для объявления переменной типа множества используется
ключевое слово set.
Минимальный и максимальный порядковые номера типа, на основе
которого создается множество, должны лежать в пределах от 0 до 255.
Записи
Записи
представляют
собой
структурный
тип,
объединяющий
элементы различных типов.
Элементы записи называются полями. Для обращения к отдельному
полю используется идентификатор переменной записи и через точку
указывается идентификатор поля: RecVar1.field1. Кроме того, существует
специальный оператор with...do, предназначенный для работы с записями.
Файлы
Файловый тип данных используется для организации операций
файлового ввода-вывода данных. Файловые переменные подразделяются на
типизированные и нетипизированные.
Объявление переменной файлового типа подобно объявлению массива,
только без указания числа элементов. При этом вместо слова array
используется ключевое слово file. Для типизированных файлов после слова
file через of указывается тип элементов файла. Этот тип может быть любым,
кроме file и class. Объявление нетипизированной файловой переменной
отличается только тем, что тип элементов файла не указывается. Для работы
с текстовыми файлами используется специальный тип Text или TextFile.
var
F1 : file of real; // переменная файла вещественных чисел
F2 : file; // нетипизированная файловая переменная
F2 : TextFile; // переменная текстового файла
17
Классы
Классы являются структурным типом, похожим на тип record. Однако
они позволяют объединять в одной структуре не только данные, но и методы
их обработки - процедуры и функции.
Кроме перечисленных типов в Object Pascal существуют еще
указательные и вариантные типы. Но здесь о них речь не пойдёт, т.к. для
усвоения основ объектно-ориентированного программирования учащимся с
лихвой хватит описанных выше типов.
III.
Операторы языка Object Pascal
Операторы предназначены для контроля за порядком вычисления
выражений и количеством вычислений. Операторы, используемые в языке
Object Pascal, условно можно разделить на две группы: простые операторы и
структурные операторы. К простым операторам следует отнести операторы
присваивания и безусловного перехода. Группу структурных операторов
составляют условные операторы, операторы циклов и составной оператор. В
работе не приводятся теоретические данные об операторах языка Object
Pascal, т.к. они полностью дублируют операторы языка Pascal, а курс
рассчитан на учащихся, уже освоивших язык Pascal.
IV.
Процедуры, функции и модули Object Pascal
Процедуры и функции представляют собой блоки программного кода,
имеющие точно такую же структуру, как и программа (единственное отличие
заключается в том, что процедуры и функции не могут содержать раздел
uses).
Модули позволяют объединить логически связанные типы данных,
переменные, процедуры и функции в один программный блок. Причем все
идентификаторы, описанные в модуле, могут быть использованы в других
18
программных блоках. Фактически, модуль представляет собой нечто вроде
библиотеки подпрограмм, типов данных, переменных и констант. Для
использования идентификаторов, описанных в модуле в программе (или
другом модуле), достаточно объявить имя модуля в разделе uses.
Система визуального программирования Delphi
программирование pascal delphi обучение
Система визуального программирования Delphi фирмы Borland
позволяет
в
полной
мере
реализовать
современные
концепции
программирования, включая:
•
объектно-ориентированный подход;
•
визуальные средства быстрой разработки приложений (RAD),
основанные на компонентной архитектуре;
•
возможность создания приложений как с использованием
библиотеки визуальных компонентов (Visual Component Library, VCL)
для.NET, разработанной Borland, так и с использованием непосредственно
классов.NET;
•
возможность работы с базами данных;
•
возможности
создания
Интернет-приложений
различной
сложности.
В
Delphi
используется
язык
Object
Pascal,
предоставляющий
возможность полной реализации основных принципов ООП (инкапсуляция,
наследование,
полиморфизм)
и
обладающий
встроенной
обработкой
исключительных ситуаций. Компонентная архитектура Delphi является
прямым развитием поддерживаемой объектной модели. Все компоненты
являются объектными типами (классами), обладающими возможностью
неограниченного наследования. Компоненты Delphi, поддерживают модель
РМЕ (Properties, Methods, Events - свойства, методы, события), позволяющую
изменять поведение компонентов без создания новых классов.
19
Интерфейс
интегрированной
среды
разработки
Delphi
(здесь
рассматривается 7 версия продукта) включает в себя следующие основные
части (рисунок 1): главное окно, инспектор объектов, редактор форм,
редактор кода, панель инструментов, дерево объектов.
Рисунок 1
Интерфейс Delphi
Главное окно
Главное окно Delphi состоит из нескольких разделов.

Главное меню располагается непосредственно под заголовком
главного окна и позволяет получить доступ ко всем функциям IDE.

Панель инструментов представляет собой группу кнопок,
используемых для быстрого доступа к ряду команд главного меню.
Настройка панели инструментов может производиться пользователем в
соответствии с личными предпочтениями. Пользователь может выбрать
стиль оформления среды разработки, характерный для более ранних версий
Delphi.
20

Палитра компонентов, являющаяся частью панели инструментов,
содержит компоненты, которые разработчик может использовать для
создания приложений. В зависимости от вида разрабатываемого приложения
набор компонентов меняется.

Инспектор объектов - окно, расположенное в левой части экрана,
в котором отображаются свойства редактируемого компонента.

специально
Редактор
кода
представляет
приспособленный
для
собой
текстовый
редактирования
исходных
редактор,
текстов
программ. Редактор поддерживает возможность автоматической генерации
части текстов программ, исходя из визуально спроектированной части
приложения. В процессе проектирования доступен либо режим визуального
проектирования (редактор форм), либо режим редактирования текста. Также
поддерживаются подсветка синтаксических элементов для языков Delphi, C#,
C++, XML/HTML, минимизация блоков текста, автоматический выбор
свойств компонента. Для реализации последней возможности достаточно
правильно указать имя компонента и поставить точку - через короткий
промежуток времени редактор выдаст список доступных свойств и методов
объекта.

Дерево
объектов
содержит
информацию
об
объектах,
компонентах, помещенных на форму, в иерархическом виде.
Главное меню
Главное меню содержит полный набор команд, необходимых для
работы в Delphi. Однако вследствие того, что Delphi является средой
визуального программирования, частого обращения к командам главного
меню, как правило, не требуется. Полный перечень всех команд главного
меню занял бы слишком много места, поэтому здесь приводится описание
только основных команд.
Меню File
Меню File содержит команды, предназначенные для работы с файлами.
21
Часть команд, содержащихся в данном меню (Open, Save, Save As,
Close, Exit), - это обычные команды для работы с файлами, назначение
которых не требует пояснений.
Остальные
команды
имеют
некоторые
особенности,
поэтому
остановимся на них подробнее.
Команды Open Project и Save Project As используются для открытия
проектов и их сохранения под другим именем.
Под проектом в Delphi понимается набор файлов, которые необходимы
для создания исполняемого приложения, динамически связываемой, или
динамической, библиотеки (DLL), веб-приложения и т. д.
Команды Save All и Close All предназначены для сохранения и
закрытия всех открытых файлов, относящихся к активному проекту.
Для создания новых проектов и отдельных файлов используются
команды подменю New. Внешний вид этого подменю может меняться в
зависимости от вида разрабатываемого приложения.
Система
визуального
программирования
Delphi
позволяет
разрабатывать различные проекты. Среди них обычные приложения,
динамические библиотеки, компоненты Delphi и т. п.
Команда File > New > Other открывает окно диалога New Items
(рисунок 2).
Рисунок 2
Окно диалога New Items обеспечивает доступ к хранилищу объектов
22
В этом окне диалога предлагаются объекты, содержащиеся в
хранилище объектов (object repository). Хранилище объектов содержит
шаблоны кода, которые используются в качестве основы при разработке
сложных объектов или приложений.
Шаблоны объектов, содержащиеся в хранилище, разделены на
несколько групп, которые отображаются на разных вкладках окна New Items.
Команда Use Unit используется для подключения одного из модулей,
уже включенных в раздел uses проекта.
Команда Print предназначена для печати формы или программы.
Меню Edit
Меню Edit содержит ряд стандартных команд, используемых в
приложениях ОС Windows для редактирования: Cut (вырезать), Сору
(копировать), Paste
(вставить), Delete (удалить), Select All (выделить все), Undo (отменить),
Redo (повторить). Остальные команды используются для разработки форм и
дублируют команды контекстного меню редактора форм (выравнивание,
порядок обхода компонентов и т. д.).
Меню Search
Меню Search содержит некоторые распространенные в приложениях
обработки текста команды, предназначенные для поиска и замены: Find
(найти), Replace (заменить), Search Again (повторный поиск), Go to Line
Number (перейти на строку с номером), а также несколько специальных
команд, описываемых далее.
Команда Find in Files предназначена для поиска текстовых строк в
нескольких файлах. При выборе этой команды открывается окно диалога
Find Text. Элементы управления этого окна диалога позволяют задать
параметры поиска.
23
Меню View
Команды меню View предназначены для управления способом
отображения информации.
Остановимся на назначении наиболее важных из команд.
Команда Project Manager открывает окно менеджера проекта, в котором
отображаются все файлы, входящие в текущую группу проектов (рисунок 3).
Рисунок 3
Окно диалога Project Manager
Менеджер проекта позволяет добавлять проекты в группу, удалять
проекты из группы, выбирать активный проект, сохранять отдельные
проекты или группу в целом. Это окно диалога также может быть
использовано для добавления, удаления, открытия и сохранения отдельных
файлов, входящих в состав проекта. Все перечисленные действия могут
выполняться с помощью кнопок, расположенных в верхней части окна
менеджера
проектов,
либо
с
помощью
контекстного
меню,
активизирующегося при щелчке правой кнопки мыши на каком-либо модуле,
входящем в состав группы проектов или отдельного проекта.
Возможность объединять несколько проектов в одну группу удобно
использовать, например, в тех случаях, когда одновременно с приложением
разрабатываются динамические библиотеки.
24
Команда
Object
Inspector
применяется
для
активизации
окна
инспектора объектов, которое используется при разработке форм. Более
подробно его назначение рассматривается далее.
Команда Code Explorer активизирует окно браузера кода, в котором
отображается структура программы. Браузер кода существенно облегчает
навигацию в сложных проектах, содержащих большое количество модулей и
много программного кода.
Команда Window List открывает окно, содержащее список всех
открытых окон Delphi и позволяющее сделать активным любое из них.
В подменю Debug Windows входят команды, предназначенные для
отладки приложения.
Команды
подменю
Desktops
позволяют
сохранять
текущую
конфигурацию среды разработки, в частности информацию о том, какие окна
открыты и где они расположены.
Команда Toggle Form/Unit используется для переключения между
редактором кода и редактором форм.
Команда Units открывает окно, содержащее список всех модулей,
входящих в состав текущего проекта.
Команда Forms позволяет открыть список всех форм проекта.
Команды
подменю
Toolbars
требуются
для
настройки
панели
инструментов.
Меню Project
В меню Project содержатся команды создания и редактирования
проектов.
Команда Add to Project используется для добавления к проекту какоголибо файла (модуля, файла ресурсов и т. п.). Она полностью дублирует
команду Add контекстного меню менеджера проектов.
Команда Remove from Project позволяет удалять из проекта ненужные
модули. При выполнении данной команды открывается окно со списком всех
25
используемых модулей, в котором выбираются те из них, которые
необходимо удалить из проекта.
Команда Add to Repository добавляет текущий проект в хранилище
объектов в качестве шаблона.
Команда View Source открывает в редакторе кода главный файл
проекта.
Команды
подменю
Languages
используются
при
разработке
приложений, поддерживающих несколько человеческих языков.
Команда Add New Project добавляет в текущую группу проектов новый
проект. Она является аналогом соответствующей команды контекстного
меню менеджера проектов.
Команда Add Existing Project добавляет существующий проект в
текущую группу проектов. Ее назначение аналогично одноименной команде
контекстного меню менеджера проектов.
Команда Compile создаёт исполняемый файл (.exe), код которого
соответствует написанной программе.
Команда Information открывает одноименное окно диалога, в котором
отображается информация о текущем проекте.
Команда Options позволяет настраивать свойства.
Меню Run
Меню Run содержит ряд команд, предназначенных для запуска и
отладки приложений.
Команда Program Pause останавливает выполнение запущенной
программы, но не закрывает ее.
Команда Program Reset завершает работу запущенной программы.
Команды Inspect, Evaluate/Modify и Add Watch используются для
просмотра и изменения значений переменных в режиме отладки.
Команды подменю Add Breakpoint предназначены для установки и
снятия точек останова в программе.
26
Меню Component
Команды меню Component используются для создания и настройки
новых компонентов.
Команда New Component применяется при разработке нового
компонента.
Команда Install Component служит для добавления компонентов в среду
Delphi.
Меню Tools
Меню Tools содержит команды, вызывающие окна диалога для
настройки среды Delphi, а также окна редактора кода, встроенного отладчика
и хранилища объектов. Кроме того, в команды этого меню позволяют
запускать некоторые внешние программы (утилиты), причем имеется
возможность настройки списка вызываемых программ.
Панели инструментов
Панели инструментов содержат кнопки, обеспечивающие быстрый
доступ к командам главного меню (рисунок 4).
Рисунок 4
Панели инструментов Delphi
Главное окно Delphi включает шесть панелей инструментов: Standard,
View, Debug, Custom, Component Palette, Desktops, каждая из которых может
закрываться и отрываться с помощью команды View > Toolbars > <Название
панели> главного меню или соответствующей команды контекстного меню
напели инструментов.
Содержание каждой панели инструментов может настраиваться
пользователем с помощью окна диалога Customize, открываемого командой
View > Toolbars > Customize главного меню или командой Customize
контекстного меню.
27
Палитра компонентов
Палитра компонентов (Component Palette) является частью панели
инструментов и используется для отображения компонентов, содержащихся
в библиотеке компонентов VCL.
В соответствии с выполняемыми ими функциями все расположенные в
палитре компоненты разделены на группы, каждая из которых размещается
на отдельной странице палитры.
Палитра компонентов полностью конфигурируется пользователем.
Можно создавать новые страницы и удалять существующие, добавлять и
удалять компоненты, перемещать компоненты между страницами.
Стандартная конфигурация палитры компонентов VCL Delphi 7
содержит 32 списка, каждый из которых предоставляет разнообразные
компоненты и элементы управления.
Инспектор объектов
Инспектор объектов (Object Inspector) является одним из важнейших
инструментов разработки приложения и используется для настройки
опубликованных свойств компонента (рисунок 5).
Рисунок 5
Инспектор объектов
Окно инспектора объектов содержит раскрывающийся список и две
вкладки: Properties и Events. На первой из них отображается список свойств
28
выделенного объекта, на второй - список событий, на которые реагирует
объект. Раскрывающийся список содержит перечень всех компонентов,
размещенных на активной в данный момент форме (включая и саму форму).
Каждая вкладка разделена на две колонки. В левой колонке
перечислены имена свойств или событий, а в правой - их значения. Значения
свойств можно редактировать. Некоторые свойства имеют в поле значений
собственный раскрывающийся список, в котором выбирается необходимое
значение.
Редактор форм
Редактор форм (Form Designer) представляет собой инструмент
визуальной разработки интерфейса приложения. С его помощью можно
реализовать следующие функции:
•
размещение компонентов на форме;
•
модификацию свойств компонентов и самой формы;
•
установку обработчиков событий.
Установка обработчиков событий
Обработчик события - это процедура, предназначенная для обработки
реакции на какое-либо воздействие. События, па которые компонент может
реагировать, перечисляются на вкладке Events инспектора объектов.
Чтобы установить обработчик для какого-либо события, выполните
двойной щелчок мышью в поле значения события в инспекторе объектов.
При
этом происходит переключение в редактор
кода, в котором
автоматически генерируется код заголовка процедуры-обработчика события.
Delphi генерирует только заголовок обработчика события. Реакцию на
событие требуется писать вручную в теле процедуры-обработчика, которая
ничем не отличается от обычной процедуры языка Object Pascal.
Редактор кода
Редактор
ориентированным
кода
на
является
написание
обычным
текстов
29
текстовым
программ.
Его
редактором,
настройка
производится с помощью окна диалога, открывающегося командой Tools >
Editor Options главного меню или командой Properties контекстного меню.
Теоретический материал предпочтительнее дать ученикам под запись,
т.е. в виде лекций. К нему можно отнести следующие разделы курса:
основные понятия объектно-ориентированного программирования; структура
приложения в Delphi, проект, разработка сценария проекта, файлы проекта,
описание файлов и отчасти идеология программирования под Windows.
Все остальные составляющие курса относятся ко второй части практической.
Это
инструментарий
визуальная
Delphi,
среда
основные
программирования
категории
Delphi;
Delphi,
управление
компонентами при проектировании, форма, её свойства, события, методы;
разработка и реализация простого приложения; разработка проекта;
графические возможности Delphi и отчасти идеология программирования под
Windows.
В занятиях акцент следует сделать на практическую часть курса, а
точнее на изучение среды Delphi и разработку приложений, т.к. только с
помощью практики у учеников появится реальная возможность понять и
осмыслить такие теоретические понятия как инкапсуляция, наследование,
полиморфизм, методы и др. Тематический план курса приведён в таблице 1.
Таблица 1.
Тематический план школьного курса "Основы объектноориентированного программирования"
Тема учебного занятия
Количеств
о часов
1.
Основные
понятия
объектно-ориентированного
6
программирования
2. Идеология программирования под Windows
3.
Визуальная
среда
программирования
30
2
Delphi.
6
Инструментарий
Delphi.
Основные
категории
Delphi:
свойства, методы
4. Структура приложения в Delphi. Проект. Файлы проекта.
2
Описание файлов
5. Управление компонентами при проектировании. Форма,
2
её свойства, события, методы
6. Разработка и реализация простого приложения
4
7. Разработка проекта
6
8. Графические возможности Delphi
6
Всего:
34
31
Методические указания к изучению темы
«Основы объектно-ориентированного программирования»
Данная тема целиком и полностью относится к теоретическому
наполнению курса, поэтому изучение её предполагает проведение занятий в
форме лекций, т.е. под запись в тетрадь. Так как тема является довольно
объёмной и наукоёмкой, для её изучение необходимо отвести не менее 5-6
учебных часов. Теоретический материал достаточно подробно изложен в
предыдущем разделе работы.
На уроках по данной теме должны быть освещены такие понятия, как
объект, его формула, правила описания объектов, методология ООП. Следует
рассмотреть объект как совокупность полей данных и методов их обработки,
визуализацию объектов, объекты и компоненты, классы объектов, описание
классов, поля, методы и свойства. Обязательным элементом темы является
рассмотрение трёх концепций
ООП:
инкапсуляция, наследование и
полиморфизм.
Желательно при рассмотрении таких понятий как объект, методы и
свойства
приводить
информационными
примеры
из
технологиями
и
жизни,
т.е.
не
связанные
программированием.
с
Например:
автомобиль - объект, свойства - цвет, марка, тип кузова и др., методы завести двигатель, повернуть руль и т.д.
Требования к знаниям и умениям учащихся
Учащиеся должны знать:

что такое объект;

что такое класс;

как описывается класс;

как описать объект;

назначение полей класса;

назначение методов;
32

в чем состоит идея визуализации объекта;

что представляют собой компоненты в Delphi;

в чем состоят принципы инкапсуляции, наследования и
полиморфизма;

об иерархии объектов;

способы обращения к полям внутри метода и другим методам;

о динамическом характере объектов;

как использовать объект в программе.
В качестве простейшее практической работы по данной теме можно
предложить учащимся создать приложение с простейшим обработчиком
события. Примером такой программы может стать создание кнопки для
выхода из программы. Необходимо научить учеников размещать кнопку на
форме. Перед тем, как ученики приступят к выполнению задания, нужно
обсудить с ними порядок их работы и написать на доске метод для закрытия
программы. Это могут быть методы:
Application.terminate;
Close;
Halt;
Следует объяснить ученикам различия в результатах использования
этих методов. Close закрывает лишь активную в данный момент форму, тогда
как другие просто прерывают выполнение программы. Результат их
выполнения не имеет различий в одном случае - когда в приложении
используется только одна форма.
Учащиеся должны уметь:
•
изменять свойства двумя способами;
•
написать простейший обработчик события.
33
Заключение
ООП в настоящее время занимает ведущее место в разработке
профессиональных программных средств. Ознакомление с его основами в
школьном курсе информатики представляется вполне возможным и
полезным для тех учащихся, которые ориентируются на данный профиль.
В ходе изучения курса ООП будут решены три круга задач: освоение
методологии ООП; овладение техникой ООП Delphi; введение учащихся в
проблематику, расширение общего кругозора.
При этом немаловажную роль играет выбор языка программирования.
Быстро растущая популярность визуального программирования (которое не
тождественно классическому объектному, но связано с ним многими общими
идеями) в системах программирования типа Delphi, Visual Basic, C++Builder
делает привлекательной идею положить одну из них в основу курса. На этот
счёт в педагогической литературе высказываются различные точки зрения.
Несомненная занимательность и облегченность создания программ
визуально-объектным способом не вполне соответствует усвоению идей и
методов объектного программирования при проведении относительно
короткого курса. Другие аргументы в пользу ориентации в школьном курсе
информатики на традиционные объектные средства, содержащиеся в версиях
языка Турбо Паскаль от 5.5 до 7.0, - несомненная преемственность по
отношению к курсу программирования на Паскале, существенно меньшие
требования к компьютеру. Другая точка зрения связана с ориентацией в
первую очередь на систему программирования Delphi. Delphi является
системой объектного программирования, созданной на базе Паскаля; по
оценке специалистов, её профессиональный уровень очень высок.
В любом случае следует понимать, что методика изучения в школе
любых видов объектного программирования разработана еще недостаточно.
34
Список литературы
Основная литература
1. Избачков Ю. С., Петров В. Н. Информационные системы: Учебник для
вузов. 2-е изд. - СПб.: Питер, 2005. - 656 с.
2. Кащей В.В. Объектно-ориентированное программирование. Лекции
1992/1993 года. wwk54@mail.ru
3. Лапчик М.П. и др. Методика преподавания информатики: Учеб.
пособие для студ. пед. вузов / М.П. Лапчик, И.Г. Семакин, Е.К. Хеннер;
Под общей ред. М.П. Лапчика. - М.: Издательский центр "Академия",
2001. - 624 с.
4. Могилев А.В., Пак Н.И., Хеннер Е.К. Информатика: Учеб. Пособие для
студ. пед. вузов / Под ред. Е.К. Хеннера. - М.:Изд. центр "Академия",
1999.
5. Семакин И.Н., Шестаков А.П. Основы программирования: Учебник. М.: Мастерство; НМЦ СПО; Высшая школа, 2001. - 432 с.
6. Угринович Н. Д. Информатика и информационные технологии.
Учебник для 10 - 11 классов / Н. Д. Угринович. - 2-е изд. - М.: БИНОМ.
Лаборатория знаний, 2009. - 511 с.
Дополнительная литература
1. Сборник задач по программированию / Авт.-сост. А.П. Шестаков. Пермь: Перм. ун-т, 1999.
2. Бобровский С. Delphi 7. Учебный курс. Информ-Пресс; Питер, 2003.
Интернет-источники
1. Национальный открытый университет.
http://www.intuit.ru/shop/product.xhtml?id=2493758
2. Принципы ООП на сайте Weblibrary.biz
http://www.weblibrary.biz/c-sharp/princypy
3. Е. А. Роганов «Основные концепции ООП»
http://www.ctc.msiu.ru/materials/Book/node82.html
35
Download