Содержание
- 2. Контакты: [email protected] http://vk.com/kirill.surkov
- 3. Литература Данная презентация служит методикой изучения предмета и содержит основные понятия ООП и их представление на
- 4. Базовые понятия структурного программирования Переменная – ячейка данных Тип данных – допустимые значения и операции переменной
- 5. Модуль Модуль – единица разработки, применения и поставки. public static class Helper // модуль { public
- 6. Разграничение доступа к модулям Разграничение доступа к модулю осуществляется с помощью ключевых слов: public – доступ
- 7. Объект – динамический модуль Объект – динамический модуль, у которого может быть много экземпляров. Описание динамического
- 8. Исключение Исключение – событие и объект с информацией об ошибке. Исключение создается: Аппаратно – в результате
- 9. Обработка исключений Обработка исключения: try { // операторы, подверженные исключениям } catch { // операторы обработки
- 10. Классификация исключений Распознавание класса исключения: try { // арифметические вычисления } catch (DivideByZeroException e) { //
- 11. Защита ресурсов от исключений Защита ресурсов от исключения: // запрос ресурса try { // работа с
- 12. Защита ресурсов от исключений С помощью оператора using: using (var stream = new FileStream(...)) { stream.Read(buffer,
- 13. Базовые понятия объектно-ориентированного программирования Класс – тип данных для создания объектов Объект – экземпляр класса Метод
- 14. Класс и объект Класс – тип данных для создания объектов: public class DelimitedReader { public void
- 15. Метод Метод: public class DelimitedReader { public void AssignFields() { FileName = "MyFile.csv"; this.Delimiter = ';';
- 16. Конструктор и деструктор Конструктор и деструктор – особые методы: public class DelimitedReader { public DelimitedReader(string fileName,
- 17. Свойство Свойство – виртуальное поле: public class DelimitedReader { public bool Active { get { return
- 18. Свойство Свойство с автоматически создаваемым полем для него: public class DelimitedReader { public char Delimiter {
- 19. Индексатор Индексатор – особое свойство, предоставляющее доступ к объекту как к массиву: public class DelimitedReader {
- 20. Наследование – расширение класса Базовая абстракция объекта для чтения текста в табличном виде: public class TableReader
- 21. Наследование – расширение класса Расширение базового класса для чтения таблиц формата TXT: public class FixedReader :
- 22. Наследование – расширение класса Смысл расширения типа заключается в том, чтобы определить переменную базового типа и
- 23. Наследование – контроль и приведение типа Контроль типа осуществляется с помощью оператора is: TableReader reader; ...
- 24. Базовый класс Object Базовый класс System.Object содержит общие для всех объектов методы: namespace System { public
- 25. Виртуальный метод Виртуальный метод – переопределяемый в производных классах метод. Вызов виртуального метода осуществляется в соответствии
- 26. Механизм вызова виртуального метода Схема вызова obj.ToString(); // obj ссылается на объект класса Point Сегмент стека
- 27. Абстрактный виртуальный метод Абстрактный метод – это виртуальный метод без реализации. Для такого метода в таблице
- 28. Динамический виртуальный метод В некоторых языках программирования разновидностью виртуального метода является динамический метод: public class TableReader
- 29. Виртуальное свойство Свойство можно сделать виртуальным. Тогда в производных классах перекрываются его методы чтения и записи:
- 30. Запрет на расширение Наследование от класса можно запретить с помощью ключевого слова sealed – «запечатанный». «Запечатывание»
- 31. Делегат – ссылка на метод Можно создать процедурную переменную, содержащую адрес метода. Предварительно для такой переменной
- 32. Пример применения делегата public delegate void NextLineDelegate(); public class DelimitedReader { private NextLineDelegate fNextLineDelegate; public DelimitedReader(string
- 33. Событие – список делегатов Бывает необходим список переменных-делегатов для уведомления целого множества объектов. Он называется событием.
- 34. Пример применения события public delegate void NextLineDelegate(); public class DelimitedReader { public event NextLineDelegate NextLineEvent; public
- 35. Принятый формат для событий Для событий существует удобный стандартный тип-делегат, который решено применять для всех событий:
- 36. Обновленный пример применения события public class DelimitedReader { public event EventHandler NextLineEvent; public DelimitedReader(string fileName) {
- 37. Методы регистрации события Определяя событие, можно указать методы, которые будут вызываться при добавлении делегата в список
- 38. Интерфейс = объект – реализация Из класса TableReader можно выделить программный интерфейс: public interface ITableReader {
- 39. Интерфейс Интерфейс не может содержать поля, конструкторы, деструктор. Все элементы интерфейса по определению являются общедоступными (public)
- 40. Интерфейс Объект может поддерживать несколько интерфейсов, что эффективно заменяет множественное наследование: Object TableReader FixedReader DelimitedReader IDisposable
- 41. Интерфейс Объект может поддерживать несколько интерфейсов, что эффективно заменяет множественное наследование: public class TableReader : Object,
- 42. Механизм вызова метода через интерфейс Схема вызова intf.NextLine(); // intf ссылается на объект TableReader Сегмент стека
- 43. Шаблон – параметризованный класс Можно определить класс, параметризованный типом данных. Такой класс называют шаблоном или обобщенным
- 44. Шаблон При описании шаблона можно ограничить возможные значения параметра-типа: public class List where T: ListItem {
- 45. Атрибут – метаданные Атрибуты – это метаданные, которые можно назначать элементам программы. Эти метаданные представляются как
- 46. Атрибут – механизм рефлексии С помощью механизма рефлексии для каждого элемента программы – класса, поля, свойства,
- 47. Дополнительные понятия Переменная с непостоянным типом значений Анонимная функция
- 48. Переменная с непостоянным типом значений Для поддержки скриптовых языков в язык C# внесли возможность создавать переменные
- 49. Анонимная функция public delegate int FunctionDelegate(int x); public class Program { public void Test() { CallFunction(this.Negate);
- 50. Анонимная функция Вместо вручную объявленного делегата: public delegate int FunctionDelegate(int x); можно использовать готовый шаблон: public
- 51. Анонимная функция Создадим процедурную переменную, которой присвоим ссылку на анонимную функцию: Func func = (int x)
- 52. Приемы программирования Итератор – абстрактный продвигаемый вперед указатель на элемент контейнера Одиночка – объект, создаваемый в
- 53. Итератор (Iterator/Enumerator) Итератор – абстрактный продвигаемый вперед указатель на элемент контейнера: public interface IEnumerator { object
- 54. Итератор Для удобства пользования итератором существует оператор foreach: public static void Test(List args) { foreach (string
- 55. Итератор Если функция возвращает значение типа IEnumerable, то такую функцию можно сделать итератором: public static void
- 56. Одиночка (Singleton) Одиночка – объект, создаваемый в единственном экземпляре. Пример – статическое (static) поле класса, инициализированное
- 57. Одиночка public class Config { private static volatile Config instance = null; private static readonly object
- 58. Заместитель Прокси (Proxy) или Суррогат (Surrogate) – легковесный объект-заместитель, перенаправляющий вызовы к замещаемому тяжеловесному объекту. Обертка
- 59. Прокси (Proxy) / Суррогат (Surrogate) Прокси (Proxy) или Суррогат (Surrogate) – легковесный объект-заместитель, перенаправляющий вызовы к
- 60. Прокси / Суррогат public interface IWebClient { void Request(); } public class WebClient : IWebClient {
- 61. Прокси / Суррогат Прокси (Proxy) – легковесный объект-заместитель, перенаправляющий вызовы к замещаемому тяжеловесному объекту (обычно через
- 62. Обертка (Wrapper) / Декоратор (Decorator) Обертка (Wrapper) или Декоратор (Decorator) – объект-заместитель, содержащий в себе замещаемый
- 63. Обертка (Wrapper) / Декоратор (Decorator) Обертка (Wrapper) или Декоратор (Decorator) – объект-заместитель, содержащий в себе замещаемый
- 64. Адаптер (Adapter) Адаптер – объект, реализующий некоторый интерфейс путем обращения к другому объекту через свойственный ему
- 65. Адаптер interface IConfig { string GetValue(string key); } class DictionaryConfig : IConfig // Адаптер для Dictionary
- 66. Адаптер Адаптер – объект, реализующий некоторый интерфейс путем обращения к другому объекту через свойственный ему интерфейс.
- 67. Компоновщик (Composite) Компоновщик – объект, компонующий набор других однотипных объектов в одно целое. public class CompositeStream
- 68. Компоновщик Компоновщик – объект, компонующий набор других однотипных объектов в одно целое.
- 69. Мост (Bridge) Мост – делегирование функциональности метода другому объекту через интерфейс, чтобы иметь возможность независимо менять
- 70. Мост Мост через интерфейс создается к отдельной иерархии классов. public class LowQualityPaintDevice : IPaintDevice { public
- 71. Мост Мост – делегирование функциональности метода другому объекту через интерфейс, чтобы иметь возможность независимо менять реализацию
- 72. Наблюдатель (Observer/Listener) Наблюдатель – объект, получающий уведомления от других объектов. Наблюдатель применяется в языках программирования, не
- 73. Посетитель (Visitor) Посетитель – объект, передаваемый другому объекту для вызова своих методов. Например, в библиотеке визуальных
- 74. Фабричный метод (Factory Method) Фабричный метод – виртуальный метод, создающий объект.
- 75. Фабрика классов (Factory) Цель фабрики классов – создание объектов. Почему не создать его просто через new?
- 77. Скачать презентацию










































































Адресация в Интернете
Жанр и метод интервью
Система управления БД. Лекция 1
Расчетно-графическое задание
Интеллектуальная игра Инфознайка
Программирование циклических алгоритмов. Начала программирования
Подбор параметра
Моделирование физических явлений на компьютере
Опыт и результаты апробации инфраструктурных решений в рамках программы импортозамещения
Обзор сканеров безопасности операционных систем
Разработка глобальных сетей международного уровня и их взаимодействие на межсетевом уровне
Оборотная ведомость учета материальных ценностей. Вариант 10
Информация и способы ее обработки
Технологическая экосистема ArcGIS. Ресурсы для геокриологов-исследователей
Программное обеспечение
Фактографические системы
Мобильное рабочее место Единой корпоративной автоматизированной системы управления инфраструктурой дирекции по ремонту пути
Қазіргі мәселелер және оларды шешу жолдары
Понятие информационной системы
Java. Многомерные массивы
Периодические издания как вид информационных ресурсов. 5 класс
Прерывания
Сравнение сетевых ОС
Система доступа и бизнеспроцессы. Цифровое хранилище данных
Задания по программированию
Систематизация сбора и оценки работ учащихся
Эксплуатационные требования к компьютерному рабочему месту
Диаграммы USE CASE