
- •1. Особенности объектно-ориентированного программирования. Понятия класс, объект, метод, событие
- •2. Основные принципы объектно-ориентированного программирования. Характеристика абстрактного класса
- •3. Достоинства и недостатки объектно-ориентированного программирования.
- •4. Характеристика системы программирования Delphi. Историчекские сведения о создании Delphi.
- •5. Структура проекта в Delphi. Понятие компонента. Палитра компонент. Примеры работы с компонентами Label, Edit.
- •6. События и их обработка в Delphi (OnClick, OnFormShow, OnKeyPress). Примеры.
- •7. Операторы безусловного и условного переходов. Составные условия. Оператор выбора варианта (вывод на экран результатов в среде Delphi).
- •8. Оператор цикла for. Вложенные циклы. Примеры реализации в среде Delphi.
- •9. Операторы цикла while, repeat.Использование Listbox для вывода результата в среде Delphi. Сочетание циклов и команды ветвления.
- •10. Создание главного и выплывающего меню. Пример работы с видеофайлами.
- •11. Одномерные массивы в среде Delphi. Удаление элемента из одномерного массива, вставка элемента в заданную позицию. Использование компонента Stringgrid.
- •12. Преобразование матрицы в одномерный массив, пересылка одномерного массива в матрицу.
- •13. Сортировка одномерного массива методом пузырьков.
- •14. Сортировка одномерного массива методом выбора.
- •15. Двумерные массивы в среде Delphi. Описание. Транспонирование матрицы без дополнительных массивов.
- •16. Двумерные массивы в среде Delphi. Перестановка строк. Вставка строки в матрицу.
- •17. Различные способы создания простейших графических образов в среде Delphi , вывод готовых фигур, рисунков. Примеры движения фигур по горизонтали, по вертикали, по окружности.
- •19. Функции и процедуры пользователя (пример реализации в среде Delphi).
- •20. Записи. Оператор with. Пример обработки массива записей (сортировка в среде Delphi).
- •21. Множества. Операции (не менее 6 штук) работы с множеством. Определить количество гласных букв в заданном слове (пример реализации в среде Delphi)..
- •24. Использование возможностей среды Delphi для создания педагогических программных средств.
- •25. Развитие технологий программирования Логическое программирование.
- •26. Case-технология.
- •27. Характеристика среды .Net Framework
- •28. Создание с# (история, предшественники, характеристика).
- •29. Среда разработки Microsoft Visual Studio. Общая характеристика.
- •30. Алфавит, синтаксис, семантика. Стандартные операции, математические функции в c#.
- •36. Символы и строки в c#. Примеры.
- •37. Создание структуры в c#. Пример.
- •38. Создание класса в c#. Пример.
- •39. Примеры создания графических изображений в c#.
- •40. Использование возможностей среды ms Visual Studio для создания педагогических программных средств.
- •41. Особенности создания простейшего web-браузера.
1. Особенности объектно-ориентированного программирования. Понятия класс, объект, метод, событие
Объектно-ориентированное программирование' (ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов (либо, в менее известном варианте языков с прототипированием, — прототипов).
Класс — это тип, описывающий устройство объектов. Понятие «класс» подразумевает некоторое поведение и способ представления. Понятие «объект» подразумевает нечто, что обладает определённым поведением и способом представления. Говорят, что объект — это экземпляр класса. Класс можно сравнить с чертежом, согласно которому создаются объекты. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области.
Класс является описываемой на языке терминологии (пространства имён) исходного кода моделью ещё не существующей сущности, т.н. объекта.
Объект — сущность в адресном пространстве вычислительной системы, появляющаяся при создании экземпляра класса (например, после запуска результатов компиляции (и линковки) исходного кода на выполнение).
Прототип — это объект-образец, по образу и подобию которого создаются другие объекты.
Структура данных «класс», представляющая собой объектный тип данных, внешне похожа на типы данных процедурно-ориентированных языков, такие как структура в языке Си или запись в Паскале. При этом элементы такой структуры (члены класса) могут сами быть не только данными, но и методами (то есть процедурами или функциями). Такое объединение называется инкапсуляцией.
2. Основные принципы объектно-ориентированного программирования. Характеристика абстрактного класса
Язык может называться объектно-ориентированным, если в нем реализованы три концепции: объекты, классы и наследование. Построить объектно-ориентированные системы без инкапсуляции и полиморфизма так же невозможно, как без классов и наследования.
Инкапсуляция
Инкапсуляция, или утаивание информации — это возможность скрыть внутреннее устройство объекта от его пользователей, предоставив через интерфейс доступ только к тем членам объекта, с которыми клиенту разрешается работать напрямую. Инкапсуляция подразумевает наличие границы между внешним интерфейсом класса (открытыми членами, видимыми пользователям класса) и деталями его внутренней реализации. Преимущество инкапсуляции для разработчика в том, что он может открыть те члены класса, которые будут оставаться статичными, или неизменяемыми, скрыв внутреннюю организацию класса, более динамичную и в большей степени подверженную изменениям. Как уже говорилось, в С# инкапсуляция достигается путем назначения каждому члену класса своего модификатора доступа — public, private или protected.
Абстрагирование
Абстрагирование связано с тем, как данная проблема представлена в пространстве программы. Во-первых, абстрагирование заложено в самих языках программирования.
При объявлении классов в объектно-ориентированных языках вы можете использовать такие имена и интерфейсы, которые отражают смысл и назначение объектов предметной области. "Удаление" элементов, не связанных напрямую с решением задачи, позволит вам полностью сосредоточиться на самой задаче и решить ее более эффективно.
При определении нужной степени абстрагирования класса важно помнить и о программисте клиентского кода. Представьте, что вы пишете основное ядро базы данных. Возможно, вы прекрасно разбираетесь в таких понятиях БД, как курсоры (cursors), управление фиксацией (commitment control) и кортежи (tuples). Однако многие разработчики, не столь искушенные в программировании БД, не собираются вникать в тонкости этих понятий. Используя терминологию, непонятную клиентам вашего класса, вы не достигнете основной цели абстрагирования — повысить эффективность работы программиста путем представления предметной области в понятных ему и естественных терминах.
Кроме того, решая, какие члены класса сделать открытыми, надо опять вспомнить о клиенте. Это еще раз подтверждает необходимость иметь хотя бы начальное представление о предметной области и клиентах вашего класса. Так, в случае с БД ваши клиенты, наверное, не должны иметь прямого доступа к членам, представляющим внутренние буферы данных. Ведь структура этих буферов может когда-нибудь измениться. Кроме того, от целостности этих буферов зависит вся работа ядра БД, и поэтому операции по их изменению следует выполнять только вашими методами. Только после этого можно сказать, что предприняты все меры предосторожности.
Наследование
Наследованием называется возможность порождать один класс от другого с сохранением всех свойств и методов класса-предка (прародителя, иногда его называют суперклассом) и добавляя, при необходимости, новые свойства и методы. Набор классов, связанных отношением наследования, называют иерархией. Наследование призвано отобразить такое свойство реального мира, как иерархичность