Скачать презентацию ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ ЛЕКЦИЯ 4 Скачать презентацию ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ ЛЕКЦИЯ 4

Программирование на языке высокого уровня_Лекция_4.pptx

  • Количество слайдов: 41

ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ. ЛЕКЦИЯ 4 ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ. ЛЕКЦИЯ 4

Строки • • • Символ Строка Кодировка Инструменты работы со строками Получение и распознавание Строки • • • Символ Строка Кодировка Инструменты работы со строками Получение и распознавание информации 2

Строка в С# • Класс String • Строка – объект • Последовательность символов 3 Строка в С# • Класс String • Строка – объект • Последовательность символов 3

Строка в С# reference type управляемая куча может быть null 4 Строка в С# reference type управляемая куча может быть null 4

Строка в С# Immutable нельзя менять 5 Строка в С# Immutable нельзя менять 5

immutable 6 immutable 6

Строка в С# Может содержать символ ‘�’ 7 Строка в С# Может содержать символ ‘’ 7

Строка в С# Перегружает операторы == и != 8 Строка в С# Перегружает операторы == и != 8

Литералы • Строковые: -string s = “C# language”; • Символьные: -char c = ‘!’; Литералы • Строковые: -string s = “C# language”; • Символьные: -char c = ‘!’; 9

Символ • Char • Интегральный тип • 2 байта 10 Символ • Char • Интегральный тип • 2 байта 10

Кодировка Таблица соответствий числовых значений и символов 11 Кодировка Таблица соответствий числовых значений и символов 11

Кодировки • • ASCII Кодовые страницы (Windows-1251) Unicode UTF-8 12 Кодировки • • ASCII Кодовые страницы (Windows-1251) Unicode UTF-8 12

C# • Unicode • Каждый символ – 2 байта 13 C# • Unicode • Каждый символ – 2 байта 13

Встроенные схемы кодировки • Поддерживаются основные кодировки • Пространство имен System. Text 14 Встроенные схемы кодировки • Поддерживаются основные кодировки • Пространство имен System. Text 14

String. Builder • System. Text. String. Builder • Можно менять содержимое • Быстрая скорость String. Builder • System. Text. String. Builder • Можно менять содержимое • Быстрая скорость обработки 15

String. Builder • • • Append Insert Remove Replace Чтение и запись по индексу String. Builder • • • Append Insert Remove Replace Чтение и запись по индексу To. String 16

Основные понятия ООП • • • Классы и объекты Абстракция Инкапсуляция Наследование Полиморфизм Абстрактный Основные понятия ООП • • • Классы и объекты Абстракция Инкапсуляция Наследование Полиморфизм Абстрактный класс Абстрактный метод Виртуальный метод Паттерн «Шаблонный метод» Паттерн «Фабричный метод» Паттерн «Одиночка» 17

ООП • Классы • Объекты 18 ООП • Классы • Объекты 18

Объект • Сущность в виртуальном пространстве • Состояние • Поведение 19 Объект • Сущность в виртуальном пространстве • Состояние • Поведение 19

Объект и класс Объект == Экземпляр класса 20 Объект и класс Объект == Экземпляр класса 20

Класс • Тип данных • Поля • Методы 21 Класс • Тип данных • Поля • Методы 21

Диаграмма классов 22 Диаграмма классов 22

Отношение наследования 23 Отношение наследования 23

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

Отношение использования 25 Отношение использования 25

ООП • • Абстракция Инкапсуляция Наследование Полиморфизм 26 ООП • • Абстракция Инкапсуляция Наследование Полиморфизм 26

Абстракция • Концептуальные границы • Уровни абстракции 27 Абстракция • Концептуальные границы • Уровни абстракции 27

Интерфейс Правило перехода границы 28 Интерфейс Правило перехода границы 28

Абстрактный класс Экземпляр создать нельзя 29 Абстрактный класс Экземпляр создать нельзя 29

Наследование Новый класс > Существующий • Заимствование -свойств -функциональности 30 Наследование Новый класс > Существующий • Заимствование -свойств -функциональности 30

Абстрактный метод Должен быть определен в наследнике 31 Абстрактный метод Должен быть определен в наследнике 31

Виртуальный метод Может быть переопределен в наследнике 32 Виртуальный метод Может быть переопределен в наследнике 32

Полиморфизм • Одинаковая спецификация • Различная реализация 33 Полиморфизм • Одинаковая спецификация • Различная реализация 33

private/protected • private members • protected methods 34 private/protected • private members • protected methods 34

Паттерн «Шаблонный метод» • Основа алгоритма • Переопределение некоторых шагов алгоритма 35 Паттерн «Шаблонный метод» • Основа алгоритма • Переопределение некоторых шагов алгоритма 35

Паттерн «Шаблонный метод» On. Run – операция зацепка 36 Паттерн «Шаблонный метод» On. Run – операция зацепка 36

Диаграмма классов 37 Диаграмма классов 37

Диаграмма классов 38 Диаграмма классов 38

Паттерн «Фабричный метод» • Интерфейс создания объекта • Делегирования создания конкретных экземпляров подклассам 39 Паттерн «Фабричный метод» • Интерфейс создания объекта • Делегирования создания конкретных экземпляров подклассам 39

Паттерн «Фабричный метод» 40 Паттерн «Фабричный метод» 40

Паттерн «Одиночка» 41 Паттерн «Одиночка» 41