Professional Documents
Culture Documents
Лекція 10. Введення в Об'Єктно-орієнтованого Програмування
Лекція 10. Введення в Об'Єктно-орієнтованого Програмування
class C
...
int value = 0;
...
2
У мові програмування C# ініціалізація поля (тобто зв'язування його з
початковим значенням) не є обов'язковою. Для забезпечення безпеки програмного
коду і через реалізацію принципу інкапсуляції, ініціалізація поля деякого класу C
не повинна відкривати можливості для доступу до полів і методів даного типу.
C c = new C ();
class Rectangle
Point origin;
public Rectangle()
width=height=0;
origin = p;
width = w;
height = h;
{
origin = p;
3
}
class Rectangle
4
// Для кожного класу
...
... Rectangle.defaultColor
class C
5
int sum = 0, n = 0;
//процедура
return(float)sum/n;
//значення)
}
}
this.Add (3);
c = new C ();
c.Add (3);
6
Продовжуючи аналогію між полями та методами як елементами класів, ми
приходимо до поняття статичного методу. Розглянемо особливості реалізації
статичних методів у мові програмування C# на наступному прикладі:
class Rectangle
defaultColor = Color.white;
ResetColor ();
Rectangle.ResetColor ();
7
зупинимося на особливостях наслідування властивостей (полів та методів) класів
об'єктів мови програмування C#. Для ілюстрації наведемо наступний приклад
фрагмента програми на мові C#:
class Stack
int[] values;
int top = 0;
...
...
...
8
Stack s = new Stack (100);
Класи та об'єкти
9
Поняття класу є фундаментальним в ООП і служить основою для створення
об'єктів. В описі класу визначаються дані (тобто змінні) і код (тобто методи), який
маніпулює цими даними. Об'єкти є екземплярами класу.
Методи і змінні, складові клас, називаються членами класу. При визначенні
класу оголошуються дані, які він містить, і код, який маніпулює цими даними. Дані
містяться в змінних екземпляра, які визначені класом, а код міститься в методах. У
мові С # визначені кілька специфічних різновидів членів класу. До них відносяться:
змінні екземпляра, статичні змінні, константи, методи, конструктори, деструктори,
індексатори, події, оператори і властивості.
Ініціалізація змінних в об'єкті (як у примірнику класу) проводиться
безпосередньо в конструкторі класу. У складі класу може бути визначено декілька
конструкторів.
Класси. Синтаксис визначення класу:
class імя_класу
...
тип_доступу повертаємий_тип
імя_методу1 (список_параметрів)
{Тіло_методу}
class Animal
Weight = W;
Type = T;
Name = N;
return Weight;
Обєкт
Для створення об'єкта необхідно використовувати наступний синтаксис:
11
Поняття конструктора і деструктора
Під конструктором класу будемо розуміти метод для ініціалізації об'єкту при
його створенні. Конструктор має те ж ім'я, що і його клас. У конструкторах тип
значення не вказується явно. Конструктори використовуються для присвоювання
початкових значень змінним примірника, певним класом, і для виконання будь-
яких інших процедур ініціалізації, необхідних для створення об'єкта.
Конструктор існує для будь-якого класу, незалежно від того, визначено він в
явному вигляді чи ні. Замовчування мова С # передбачено наявність конструктора,
який присвоює нульові значення всім змінним примірники (для змінних типів-
значень) та значення null (для змінних посилального типу). У випадку явного
визначення конструктора класу конструктор за умовчанням не використовується.
Синтаксис опису конструктора:
імя_класу (список_параметрів)
{Тіло_конструктора}
~ Імя_класу () {тіло_деструктора}
Наслідування
Під Наслідування будемо мати на увазі властивість, за допомогою якого один
об'єкт може набувати властивостей іншого. При цьому підтримується концепція
ієрархічної класифікації, що має напрям зверху вниз. При прийнятті концепції
наслідування, для новостворюваних об'єктів необхідно визначати тільки ті
12
властивості, які роблять його унікальним у межах свого класу. Об'єкт може
успадковувати загальні атрибути від батьківських по відношенню до нього класів.
Синтаксис опису об'єкту:
тіло_класу
13
7. Тест, іспит, випускний іспит, випробування
8. Місце, область, місто, мегаполіс
9. Іграшка, продукт, товар, молочний продукт
10. Квитанція, накладна, документ, рахунок
11. Автомобіль, поїзд, транспортний засіб, експрес
12. Двигун, двигун внутрішнього згоряння, дизель, реактивний двигун
13. Республіка, монархія, королівство, держава
14. Ссавець, парнокопитне, птах, тварина
15. Корабель, пароплав, вітрильник, корвет
14