Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii_po_programmirovaniyu_3_semestr.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
2.11 Mб
Скачать

80

Лекции по курсу "Технология программирования" (1-й семестр) Оглавление

1

Технология.Net

2

1.1

Предыдущее состояние дел

2

1.2

Решение технологии .NET

3

1.3

Главные компоненты платформы .NET

4

1.4

Общеязыковая среда выполнения

4

1.5

Общая система типов и общеязыковые спецификации

6

1.6

Библиотека базовых классов

6

1.7

Роль языка С#

7

1.8

Компоновочные блоки

8

1.9

Роль метаданных типов .NET

9

1.10

Роль манифеста компоновочного блока

9

1.11

Общая система типов

9

2

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

10

2.1

Главные элементы объектно-ориентированного подхода

10

2.2

Дополнительные элементы ООП

11

2.3

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

12

3

Классы

13

3.1

Объект (экземпляр класса)

13

3.1.1

Ключевое слово "this"

15

3.1.2

Отношения между объектами

15

3.1.3

Основные отличительные особенности класса

15

3.2

Инкапсуляция в классе

16

3.2.1

Спецификаторы доступа к классам

17

3.2.2

Состав класса

18

3.3

Поля класса

19

3.3.1

Доступ к полям

19

3.3.2

Статические и экземплярные переменные

21

3.4

Методы (функции-члены класса)

21

3.4.1

Переменное число параметров метода

23

3.4.2

Статические методы

24

3.4.3

Конструкторы

24

3.4.4

Закрытые конструкторы или классы без экземпляров

26

3.4.5

Статические конструкторы

27

3.4.6

Деструкторы

28

3.4.7

Абстрактные методы и классы

28

3.5

Свойства

28

3.6

Индексаторы

30

3.7

Статические классы

31

3.8

Частичные классы

31

3.9

Рекомендации по программированию

33

4

Наследование

35

4.1

Типы наследования

35

4.2

Наследование реализации

36

4.3.1

Определение наследующих классов

37

4.3.2

Уровень доступа protected и internal

41

4.3.3

Ссылка на объект базового класса

43

4.3.4

Протоклассы

45

4.3.5

Предотвращение наследования с помощью ключевого слова sealed

46

4.3

Отношения между классами

47

4.4

Отношение вложенности

48

4.4.1

Расширение понятия о владеющем классе

49

4.4.2

Отношения между владеющими и вложенными классами

51

4.4.3

Особенности использования владеющих и вложенных классов

51

4.5

Абстрактные классы

51

4.6

Класс object

53

4.7

Функциональные замыкания

54

4.7.1

Разработка функциональных замыканий с помощью наследования

54

4.7.2

Разработка функциональных замыканий с помощью экземпляров класса

55

4.8

Заключение

57

4.9

Рекомендации программисту

58

5

Полиморфизм

59

5.1

Полиморфизм наследующих классов

59

5.1.1

Правила приведения типов

61

5.2

Переопределение методов родительского класса. Раннее связывание

62

5.2.1

Недостатки переопределения методов

64

5.3

Виртуальные методы и их переопределение

65

5.3.1

Как вызывают виртуальные методы

67

5.3.2

Версии виртуальных методов

68

5.3.3

Виртуальные функции и принцип полиморфизма

72

5.4

Абстрактные методы и их применение

74

5.5

Абстрактные классы

74

5.6

Перегрузка

76

5.6.1

Почему следует использовать перегрузку

76

5.6.2

Перегрузка методов

77

5.6.3

Перегруженные методы

77

5.6.4

Перегруженные конструкторы

78

5.6.5

Рекомендации программисту

79

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]