Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Готове ООП.doc
Скачиваний:
6
Добавлен:
07.07.2019
Размер:
671.23 Кб
Скачать
  1. Елементи класу.

Об'єктно-орієнтоване програмування і проектування побудоване на класах. Будь-яку програмну систему, побудовану в об'єктному стилі, можна розглядати як сукупність класів, можливо, об'єднаних в проекти, простори імен, рішення, як це робиться при програмуванні у VisualStudio.

Клас - це шаблон, який визначає форму об'єкту. Він задає як дані, так і код, який оперує цими даними.

Об'єкти - це екземпляри класу.

Клас складається із:

  1. полів;

  2. властивостей;

  3. методів;

  4. подій;

  5. конструкторів;

  6. деструкторів;

  7. делегатів.

Елементи класу називаються членами класу.

Клас оголошується за допомогою ключового слова class. Синтаксис має наступний вигляд:

Приклад 1. Синтаксис оголошення класу.

1: class ім’я_класу

2: {

3: //Оголошення полів

4: доступ тип імя_змінної;

5: доступ тип імя_змінної;

6:

7: //Оголошення методів

8: доступ тип_повернення імя_метода(параметри)

9: {

10: тіло метода;

11: }

12:  

13: доступ тип_повернення імя_метода(параметри)

14: {

15: тіло метода;

16: }

17: }

  1. Конструктори та деструктори.

Конструктори

Класи, у яких оголошено метод-констуктор, будуть викликати цей метод при кожному створення нового об'єкта, так що це може виявитися корисним, для того, щоб ініціалізувати стан об'єкту перед його використанням. Конструктор, який раніше збігався з назвою класу, тепер необхідно оголошувати як __construct (), що дозволить легше переміщати класи в ієрархіях. Конструктори в класах-батьків не викликаються автоматично. Щоб викликати конструктор, оголошений в батьківському класі, слід звернутися до методу parent::__construct().

<?php class BaseClass {      function __construct() {          print "Конструктор класу BaseClass\n";    }} class SubClass extends BaseClass {      function __construct() {          parent::__construct();          print "Конструктор класу SubClass\n";      }}$obj = new BaseClass(); $obj = new SubClass();?>

Деструктори

Перед звільненням пам'яті, займаної об'єктом, викликається метод __destruct (), яка не приймає параметрів. Він працює як дзеркальне відображення  __construct (). Цей метод корисний для виконання процедури очищення.

<?php class MyDestructableClass {      function __construct() {          print "Конструктор\n";          $this->name = "MyDestructableClass";      }     function __destruct() {          print "Знищується " . $this->name . "\n";      }}$obj = new MyDestructableClass();?>

  1. Об’єкти класу.

Об’єкти класу

интаксис визначення класу:

 class імя_класу

{

тип_доступу тип імя_змінної1;

тип_доступу тип імя_змінної2;

...

тип_доступу повертаємий_тип

імя_методу1 (список_параметрів)

{Тіло_методу}

}

де тип_доступу може приймати одне з наступних значень: public, private, protected, internal. Члени класу з типом доступу public є загальнодоступними (тобто доступні з будь-якої точки програми за межами даного класу), з типом доступу protected - всередині членів даного класу і його похідних, з типом доступу private - тільки для інших членів даного класу. Тип доступу internal застосовується для типів, доступних у межах однієї збірки.

Обєкт

Для створення об'єкта необхідно використовувати наступний синтаксис:

імя_класу імя_обєкту = new імя_класу ();

При створенні об'єкта (тобто екземпляра класу) відбувається виклик відповідного конструктора класу. Поняття конструктора і деструктора.

Під конструктором класу будемо розуміти метод для ініціалізації об'єкту при його створенні. Конструктор має те ж ім'я, що і його клас. У конструкторах тип значення не вказується явно. Конструктори використовуються для присвоювання початкових значень змінним примірника, певним класом, і для виконання будь-яких інших процедур ініціалізації, необхідних для створення об'єкта.

Конструктор існує для будь-якого класу, незалежно від того, визначено він в явному вигляді чи ні. Замовчування мова С # передбачено наявність конструктора, який присвоює нульові значення всім змінним примірники (для змінних типів-значень) та значення null (для змінних посилального типу). У випадку явного визначення конструктора класу конструктор за умовчанням не використовується.