- •Передумови та історія виникнення об’єктно-орієнтованого підходу до створення програних систем.
- •Основні положення об’єктної моделі. Класи та об’єкти.
- •Відмінність між класом та об’єктом.
- •Складові класу. Поля класу. Методи класу.
- •Позначення класу. Задання видимості членів класу.
- •Інкапсуляція, наслідування та поліморфізм.
- •Реалізація класу та створення його екземпляру за допомогою об’єктно-орієнтованої мови програмування.
- •Декларування класу. Створення екземпляру класу.
- •Правила приведення типів в c#.
- •Модифікатори доступу.
- •Методи. Параметри. Перевантаження методів.
- •Члени класу. Члени екземпляру класу.
- •Статичні поля. Статичні методи. Інші статичні члени класу.
- •Константи. Властивості.
- •Конструктори об’єктів. Статичні конструктори. Фіналізатори.
- •Порівняння конструкторів і фіналізаторів.
- •Модифікатор readonly. Ключове слово this.
- •Індексатори. Часткові класи.
- •Модифікатори доступу на аксцессорах.
- •Наслідування класів.
- •Доступ до наслідуваних методів. Приховування методів базового класу.
- •Доступ до базового класу. Використання посилань на базовий клас.
- •Віртуальні методи. Виконання конструктора.
- •Модифікатори доступу до класу. Наслідування між збірками.
- •Модифікатори доступу до членів класу.
- •Абстрактні члени класу. Абстрактні класи.
- •Запечатані класи. Зовнішні методи.
- •Виключні ситуації.
- •Інтерфейси.
- •Делегати.
- •Перевантаження операцій.
- •Основні принципи побудови графічного інтерфейсу користувача та програм, які керуються подіями.
- •Створення форм та управління ними. Модальні і немодальні форми.
- •Основні елементи графічного інтерфейсу користувача.
- •Клас Application.
- •Основні властивості і події елементів інтерфейсу.
- •Основні властивості і події форми.
- •Елемент управління Button. Елемент управління MenuStrip. Елемент управління ConextMenuStrip.
- •Елемент управління CheckBox. Елемент управління RadioButton. Елемент управління
- •Елемент управління ListBox. Елемент управління ComboBox. Елемент управління Label.
- •Елемент управління TextBox. Елемент управління ToolStrip. Настроювання переходів по табуляції.
- •Елемент управління MonthCalendar. Елемент управління DateTimePicker.
- •Елемент управління ToolTip. Елемент управління TabControl. Елемент управління TrackBar.
- •Елемент управління Panel. Елемент управління SplitContainer. Елементи управління UpDown.
- •Клас Graphics. Сеанси Paint. Доступ до об’єкта Graphics поза обробником Paint.
- •Основи реляційної субд. Основні принципи роботи з субд.
- •Введення до технології ado.Net. Створення найпростішої програми для роботи з субд.
- •Послідовність команд для читання даних з бд.
Делегати.
Делегат - клас, в якому зберігається функція. В визначення делегата входить прототип функцій, які можуть бути представлені цим делегатом. При оголошенні змінної типу делегата вказується функція, тип якої сумісний з типом делегата. Після цього делегат можна використовувати для виклику зазначеної функції. Зазвичай делегати використовуються для реалізації зворотних викликів. Зворотний виклик, виклик функції A функції B, переданої в якості параметра функції A. Зворотні виклики часто застосовуються для передачі функції інформації про вироблених її діях.
Оголошення делегата може розташовуватися всередині або поза будь-якого класу і схоже на оголошення функції, але з додаванням до початку ключового слова delegate. Для оголошення делегата використовується наступний синтаксис:
delegate тип делегат(аргументи);
Можливість оголошення делегата поза будь-якого класу пов'язана з тим, що на основі рядка оголошення делегата компілятор фактичні генерує оголошення класу, похідного від MulticastDelegate.
Для створення делегата необхідно визначити змінну типу делегата і за допомогою ключового слова new викликати конструктор делегата, передавши йому в якості параметра ім'я функції, яка зберігатиметься в делегате.
делегат змінна=new делегат(объект.метод);
Для виклику делегата вказується ім'я змінної типу делегата, а потім у круглих дужках перераховуються через кому параметри, які слід передати функції, що викликається через об'єкт делегата.
Події.
Подія являє собою автоматичне повідомлення про те, що відбулася деяка дія. Події діють за наступним принципом: об'єкт, виявляє інтерес до події, реєструє обробник цієї події. Коли ж подія відбувається, викликаються всі зареєстровані обробника цієї події. Обробники подій зазвичай представлені делегатами.
Події є членами класу та оголошуються за допомогою ключового слова event. Найчастіше для цієї мети використовується наступна форма:
event делегат_события имя_события;
де делегат_события позначає ім'я делегата, використовуваного для підтримки події, а имя_события - конкретний об'єкт объявляемого події.
Події засновані на делегатах і надають їм механізм публікації/підписки. У каркасі .NET події присутні всюди. В додатках Windows клас Button підтримує подія Click. Цей тип події є делегатом. Метод-обробник, що викликається з подією Click, повинен бути визначений з параметрами, заданими в типі делегата.
Як і делегати, події підтримують групову адресацію. Це дає можливість кільком об'єктам реагувати на повідомлення про подію.
Методи примірника і статичні методи можуть бути використані в якості обробників подій, але між ними є одна істотна відмінність. Коли статичний метод використовується в якості обробника, повідомлення про подію поширюється на весь клас. А коли в якості обробника використовується метод примірника, то події адресуються конкретним екземплярів об'єктів. Отже, кожен об'єкт певного класу, до якого потрібно отримати повідомлення про подію, повинен бути зареєстрований окремо.
