- •Передумови та історія виникнення об’єктно-орієнтованого підходу до створення програних систем.
- •Основні положення об’єктної моделі. Класи та об’єкти.
- •Відмінність між класом та об’єктом.
- •Складові класу. Поля класу. Методи класу.
- •Позначення класу. Задання видимості членів класу.
- •Інкапсуляція, наслідування та поліморфізм.
- •Реалізація класу та створення його екземпляру за допомогою об’єктно-орієнтованої мови програмування.
- •Декларування класу. Створення екземпляру класу.
- •Правила приведення типів в 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. Створення найпростішої програми для роботи з субд.
- •Послідовність команд для читання даних з бд.
Конструктори об’єктів. Статичні конструктори. Фіналізатори.
Конструктор це метод, який призначений для ініціалізації стану
об'єкту
Для того, щоб була можливість створювати екземпляри класу із
інших класів необхідно декларувати конструктор як public
Ім'я конструктора має відповідати імені класу
Конструктор не може повертати значення
Конструктори можуть приймати параметри
Клас може мати декілька конструкторів ( можуть перевантажуватись)
Конструктор за замовчуванням
Якщо у класу не задано конструктор, то компілятор автоматично генерує неявний конструктор за замовчуванням, що не приймає жодних параметрів
Якщо у класу є хоча б один явний конструктор, то у такому разі конструктор за замовчуванням не генерується і у разі створення класу без параметрів генерується помилка.
Статичні конструктори
Конструктори можуть бути задекларовані як статичні - вони ініціалізують дані на рівні класу. декларується за допомогою слова static Статичний конструктор може бути лише один у класу і не повинен приймати параметрів. Статичний конструктор не має доступу до даних рівня об'єкту, також не може декларуватися з модифікаторами доступу.
Клас може мати як статичний конструктор, так і конструктори екземпляру класу.
Статичні конструктори не викликаються створюваною програмою, вони викликаються автоматично системою виконання перед створенням екземпляру класу чи перед спробою доступу до будь-якого статичного члену класу.
Фіналізатори (деструктори)
Фіналізатори (деструктори) це методи. які виконують дії, необхідні для звільнення зайнятих ресурсів перед тим, як об'єкт класу буде знищено.
Для класу може бути створений лише один фіналізатор, який не приймає параметрів і не може мати модифікаторів доступу.
Має ім'я таке ж як у класу, проте перед ім'ям ставиться тільда (~).
Не може бути викликаний явно програмним кодом, його викликає система збору сміття у той момент, коли встановлено, що закінчилися звернення до об'єкту.
Порівняння конструкторів і фіналізаторів.
Екземпляр:
Конструктор: Викликається один раз при кожному створенні нового об'єкту
Фіналізатор: Викликається один раз при вивільненні пам'яті кожним об'єктом
Клас:
Конструктор: Викликається лише один раз за весь час виконання програми, в залежності від того, яка подія відбудеться першою: чи буде створено екземпляр класу, чи буде звернення до статичного члену класу
Фіналізатор: Не існує на рівні класу
Модифікатор readonly. Ключове слово this.
Поля класу можна позначати модифікатором readonly (тільки для читання)
На відміну від константи, поле “тільки для читання” може бути ініціалізоване у конструкторі, не обов’язково лише в момент декларації
Поля readonly можуть бути як статичними, так і належати до екземпляру класу
Приклад використання поля readonly
Ключове слово this означає екземпляр класу.
Може використовуватися лише в наступних блоках:
конструкторах екземпляру класу;
методах екземпляру класу;
аксцессорах властовостей екземпляру класу та індексаторах.
Не може використовуватися у статичних методах класу.
Основна ціль використання цього ключового слова – розрізняти імена параметрів методу і назви членів класу.
Приклад використання ключового слова this
