- •Общие сведения Сведения об эумк
- •Методические рекомендации по изучению дисциплины
- •Рабочая учебная программа
- •Протокол согласования учебной программы по изучаемой учебной дисциплине с другими дисциплинами специальности
- •Пояснительная записка
- •Содержание дисциплины
- •1. Лабораторные занятия, их характеристика
- •2. Контрольные работы, их характеристика
- •3. Курсовые работы (проекты), их характеристика
- •4. Литература
- •4.1.Основная
- •4.2.Дополнительная
- •5. Перечень компьютерных программ, наглядных и других пособий, методических указаний и материалов и технических средств обучения
- •Тема 2. Классы. Объекты. Конструкторы и деструкторы. Методы.
- •Тема 3. Свойства. Методы получения и установки значений свойств. Свойства-массивы. Свойство-массив как основное свойство объекта. Методы, обслуживающие несколько свойств.
- •Тема 4. Наследование. Прародитель всех классов. Перекрытие атрибутов в наследниках. Совместимость объектов различных классов. Контроль и преобразование типов.
- •Тема 5. Виртуальные методы. Механизм вызова виртуальных методов. Абстрактные виртуальные методы. Динамические методы. Методы обработки сообщений.
- •Тема 6. Классы в программных модулях. Разграничение доступа к атрибутам объектов. Указатели на методы объектов
- •Тема 7. Метаклассы. Ссылки на классы. Методы классов. Виртуальные конструкторы. Информация о типе времени выполнения программы - rtti.
- •Тема 9. Защита от утечки ресурсов. Приемы надежного программирования
- •Тема 10. Интерфейс. Описание интерфейса. Расширение интерфейса. Глобально-уникальный идентификатор интерфейса.
- •Тема 12. Совместимость интерфейсов. Совместимость класса и интерфейса. Получение интерфейса через другой интерфейс
- •Тема 13. Подсчет ссылок. Механизм подсчета ссылок. Представление интерфейса в памяти. Применение интерфейса для доступа к объекту dll-библиотеки.
- •Тема 15. Перегрузка идентификаторов. Предопределенные аргументы в подпрограммах.
- •Тема 18. Множественное наследование. Проблема повторяющихся базовых классов. Типовой пример применения множественного наследования - observer.
- •Тема 19. Виртуальные методы. Абстрактые методы и классы. Подстановочные функции
- •Тема 21. Ссылки. Рекомендации по работе со ссылками. Типичные ошибки при работе со ссылками.
- •Тема 23. Перегрузка операторов. Перегрузка бинарных операторов. Перегрузка унарных операторов. Перегрузка операторов преобразования типа.
- •Тема 24. Шаблоны функций. Перегрузка шаблонов функций. Шаблоны классов. Специализации шаблонов. Создание новых типов данных на базе шаблонов
- •Тема 26. Перспективные технологии ооп.
- •Практический раздел Контрольные работы
- •Контрольная работа №1 Указания по выбору варианта
- •Теоретическая часть (вопросы)
- •Практическая часть Контрольное задание №1. Пример использования объектно-ориентированного программирования в языке Delphi
- •Исходные данные к контрольному заданию №1
- •Контрольная работа №2 Указания по выбору варианта
- •Теоретическая часть (вопросы)
- •Практическая часть
Тема 26. Перспективные технологии ооп.
Технология .NET
Несмотря на трудности и уроки Java-технологии, программисты не желали отказываться от идеи создания полностью переносимых программ. Вместе с тем их совершенно не устраивала необходимость платить производительностью и удобством программ за переносимость. Работы по разрешению этого противоречия привели к появлению на свет технологии под названием .NET (произносится «дот-нет»).
Технология .NET по сути явилась новой платформой, надстроенной над другими операционными системами, и этим походила на технологию Java. Однако у технологии .NET имелся ряд существенных концептуальных отличий. В частности, платформа .NET хотя и имела свой собственный новый язык программирования C# (произносится «си-шарп»), но не была привязана только к нему, позволяя писать программы на других языках. Кроме того, программы для платформы .NET компилировались не в байт-код, а в универсальный промежуточный язык, который сохранял семантику программы и был близок к ее исходному тексту (байт-код, напротив, близок к командам процессора). Программы на промежуточном языке вообще не интерпретировались, а всегда компилировались в команды процессора при запуске программы или при ее первоначальной установке на компьютер пользователя. Выполняемый код получался очень эффективным и оказывался сравнимым по быстродействию с выполняемым кодом, полученным прямой компиляцией с языка высокого уровня в команды процессора. Немаловажно и то, что на платформе .NET стало возможным использование любых (а не только стандартных) библиотек подпрограмм и компонентов, а также всех функций операционной системы. Все это обеспечило создание быстрых и удобных программ.
Поначалу технология .NET была доступна только для семейства операционных систем Windows, но со временем этот недостаток был устранен, и на свет появилась платформа Mono — клон технологии .NET для операционных систем Linux и Unix.
Практический раздел Контрольные работы
Рабочей программой дисциплины «Объектно-ориентрированное программирование» предусмотрено выполнение двух контрольных работ. Каждая контрольная работа состоит из теоретической и практической части. В теоретической части студент должен обстоятельно ответить на два теоретических вопроса. Вторая часть работы практическая. В этой части необходимо выполнить расчетное задание.
Контрольная работа должна быть оформлена в соответствии с общеустановленными нормами и правилами, предъявляемыми к выполнению контрольных работ.
Приблизительный объем контрольной работы – 20-25 страниц печатного текста. При разработке теоретических вопросов необходимо пользоваться несколькими источниками. Списывание текста вопроса из учебников не допускается.
Контрольная работа №1 Указания по выбору варианта
Выбор вариантов теоретических вопросов и контрольного задания осуществляется студентом самостоятельно на основании двух последних цифр номера зачетной книжки из данных табл. 1.
Таблица 1
Варианты контрольных заданий
последние цифры № зач.книжки |
теоретич. вопросы |
№ контр. задания и варианта |
последние цифры № зач.книжки |
теоретич. вопросы |
№ контр. задания и варианта |
01 |
1,13 |
1-2 |
41 |
10,7 |
1-2 |
02 |
2,12 |
1-1 |
42 |
10,6 |
1-1 |
03 |
3,11 |
1-3 |
43 |
10,5 |
1-3 |
04 |
4,10 |
1-4 |
44 |
9,2 |
1-4 |
05 |
5,9 |
1-5 |
45 |
9,3 |
1-5 |
06 |
6,7 |
1-1 |
46 |
9,4 |
1-1 |
07 |
7,13 |
1-2 |
47 |
8,1 |
1-2 |
08 |
8,14 |
1-3 |
48 |
8,2 |
1-3 |
09 |
9,5 |
1-4 |
49 |
8,3 |
1-4 |
10 |
10,2 |
1-5 |
50 |
7,13 |
1-2 |
11 |
11,7 |
1-2 |
51 |
7,12 |
1-1 |
12 |
12,1 |
1-1 |
52 |
7,11 |
1-3 |
13 |
13,4 |
1-3 |
53 |
6,2 |
1-4 |
14 |
14,8 |
1-4 |
54 |
6,3 |
1-5 |
15 |
12,11 |
1-5 |
55 |
6,4 |
1-1 |
16 |
10,12 |
1-1 |
56 |
6,1 |
1-2 |
17 |
4,13 |
1-2 |
57 |
11,13 |
1-3 |
18 |
5,10 |
1-3 |
58 |
9,12 |
1-4 |
19 |
6,11 |
1-4 |
59 |
7,10 |
1-2 |
20 |
7,12 |
1-5 |
60 |
5,7 |
1-1 |
21 |
8,13 |
1-2 |
61 |
3,4 |
1-3 |
22 |
1,6 |
1-1 |
62 |
1,2 |
1-4 |
23 |
2,7 |
1-3 |
63 |
2,8 |
1-5 |
24 |
3,8 |
1-4 |
64 |
3,9 |
1-1 |
25 |
4,9 |
1-5 |
65 |
4,10 |
1-2 |
26 |
4,7 |
1-1 |
66 |
5,11 |
1-3 |
27 |
4,8 |
1-2 |
67 |
6,12 |
1-4 |
28 |
4,9 |
1-3 |
68 |
7,13 |
1-2 |
29 |
6,12 |
1-4 |
69 |
3,10 |
1-1 |
30 |
6,13 |
1-5 |
70 |
4,9 |
1-3 |
31 |
2,7 |
1-2 |
71 |
5,8 |
1-4 |
32 |
2,8 |
1-2 |
72 |
1,7 |
1-5 |
33 |
3,10 |
1-1 |
73 |
1,6 |
1-1 |
34 |
3,11 |
1-3 |
74 |
2,8 |
1-2 |
35 |
4,8 |
1-4 |
75 |
2,4 |
1-3 |
36 |
4,9 |
1-5 |
76 |
3,7 |
1-2 |
37 |
1,11 |
1-1 |
77 |
5,12 |
1-1 |
38 |
1,9 |
1-2 |
78 |
6,13 |
1-3 |
39 |
5,7 |
1-3 |
79 |
7,13 |
1-4 |
40 |
5,8 |
1-4 |
80 |
8,2 |
1-5 |