- •Передумови та історія виникнення об’єктно-орієнтованого підходу до створення програних систем.
- •Основні положення об’єктної моделі. Класи та об’єкти.
- •Відмінність між класом та об’єктом.
- •Складові класу. Поля класу. Методи класу.
- •Позначення класу. Задання видимості членів класу.
- •Інкапсуляція, наслідування та поліморфізм.
- •Реалізація класу та створення його екземпляру за допомогою об’єктно-орієнтованої мови програмування.
- •Декларування класу. Створення екземпляру класу.
- •Правила приведення типів в 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. Створення найпростішої програми для роботи з субд.
- •Послідовність команд для читання даних з бд.
Модифікатори доступу до класу. Наслідування між збірками.
Класи можуть об’єднуватися у збірки (assemblies).
Для класів передбачено два модифікатори доступу:
public – видимий (доступний) із будь-якої збірки у системі;
internal – видимий лише всередині збірки, у якій був задекларований.
Для того, щоб наслідувати клас з іншої збірки необхідно виконання наступних умов:
базовий клас має бути задекларований як public;
необхідно додати посилання в проекті Visual Studio на збірку, яка зберігає базовий клас.
Приклад наслідування між збірками
Модифікатори доступу до членів класу.
Private:
Internal:
Protected:
protected
internal:
Члени класу, які позначені private доступні тільки в межах класу. Члени класу з internal доступні в межах збірки до якої клас належить. За допомогою protected в межах класу та класах його нащадків.Члени класу задекларовані за допомогою protected internal як в межах класу так і в межах збірки. Public – доступні з будь-якого іншого класу.
Абстрактні члени класу. Абстрактні класи.
Абстрактний член класу призначений лише для того, щоб бути перевизначеним:
позначається модифікатором abstract;
не має блоку реалізації (заміняється крапкою з комою);
декларується
лише в абстрактних класах.
Абстрактні класи
Абстрактні класи можуть бути використані лише як основ для наслідування, не можна створювати екземпляри абстрактних класів.
Абстрактні класи можуть мати декілька рівнів ієрархії.
Клас, який наслідується від абстрактного, має перевизначити усі його абстрактні члени класу
Запечатані класи. Зовнішні методи.
Запечатані (sealed) класи не можуть виступати у якості основи для наслідування.
Запечатані класи фактично є протилежністю абстрактним.
Зовнішній метод – це такий метод, який не має реалізації під час декларації.
Як правило реалізація таких методів виконується на іншій мові програмування.
Спосіб реалізації зовнішнього методу позначається у атрибуті, яким помічається метод.
Виключні ситуації.
Виключна ситуація (exception) – помилка у програмі, яка призводить до переривання нормального ходу виконання алгоритму.
Конструкція try..catch
Загальна обробка виключної ситуації
Приклад використання блоку finally
Виключні ситуації можна створювати явно:
Інтерфейси.
Інтерфейс - це тип, що визначає набір методів і властивостей без реалізації, і використовується для визначення класів з подібною функціональністю. Інтерфейс визначається за допомогою ключового СЛОВА INTERFACE.
ОСОБЛИВОСТІ ВИКОРИСТАННЯ ІНТЕРФЕЙСІВ:
всі методи інтерфейсу за визначенням є відкритими, при цьому заборонено використовувати у визначенні методів модифікатори доступу.
тип інтерфейсу можна використовувати в оголошенні параметрів методів і змінних, але створювати об'єкти типу інтерфейс не можна.
замість зміни вже використовуваного інтерфейсу слід скористатися спадкуванням інтерфейсу.
Інтерфейси реалізуються за допомогою класів. Під реалізацією класом інтерфейсу розуміється написання в класі програмного коду для кожного з оголошених в інтерфейсі методів і властивостей. Для реалізації інтерфейсу необхідно:
після імені класу, що реалізує інтерфейс, поставте двокрапку і напишіть ім'я користувача (якщо в класі необхідно реалізувати кілька інтерфейсів, слід розділити їх імена комами);
включіть в клас всі методи і властивості, певні в інтерфейсі;
для кожного реалізованого методу і властивості вкажіть модифікатор доступу public.
Можливість реалізації одним класів декількох інтерфейсів замінює відсутність множинного спадкування. Для отримання доступу до інтерфейсу об'єкта застосовуються наступні способи:
явне приведення типу - (інтерфейс)об'єкт;
за допомогою ключового слова as - об'єкт as інтерфейс;
за допомогою ключового слова is - if (об'єкт is інтерфейс).
