русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Тіло класу


Дата додавання: 2015-01-08; переглядів: 1188.


 

Як бачите, обов'язковими є тільки ключове слово class, а також ім'я і тіло класу. Ім'я класу задається програмістом за загальними правилами С#. Тіло класу - це список описів його елементів, взятий у фігурні дужки. Список може бути порожнім, якщо клас не містить жодного елементу. Таким чином, простий опис класу може виглядати так:

 

class Demo {}

 

Необов'язкові атрибути задають додаткову інформацію про клас. Оскільки ми вивчаємо поки основні поняття про клас, то відкладемо розгляд атрибутів до розділу 12.

Специфікатори визначають властивості класу, а також доступність класу для інших елементів програми. Можливі значення специфікаторів перераховані в таблиці 5.1.

Таблиця 5.1

Специфікатори класу

 

Специфікатор Опис
new Використовується для вкладених класів. Задає новий опис класу замість успадкованого від предка. Застосовується в ієрархіях об'єктів
public Доступ не обмежений
protected Використовується для вкладених класів. Доступ тільки з елементів даного класу і похідних класів
internal Доступ тільки з даної програми (збірки)
protected internal Доступ тільки з даного класу і похідних класів або з даної програми (збірки)
private Використовується для вкладених класів. Доступ тільки з елементів класу, усередині якого описаний даний клас

Продовження таблиці 5.1

 

Специфікатор Опис
abstract Абстрактний клас. Застосовується в ієрархіях об'єктів
sealed Безплідний клас. Застосовується в ієрархіях об'єктів
static Статичний клас

 

Клас можна описувати безпосередньо усередині простору імен або усередині іншого класу. У останньому випадку клас називається вкладеним. Залежно від місця опису класу деякі з цих специфікаторів можуть бути заборонені.

Специфікатори 2-6 називаються специфікаторами доступу. Вони визначають, звідки можна безпосередньо звертатися до даного класу. Специфікатори доступу можуть бути присутніми в описі тільки у варіантах, приведених в таблиці, а також можуть комбінуватися з рештою специфікаторів.

У цьому розділі ми вивчатимемо класи, які описуються в просторі імен безпосередньо (тобто не вкладені класи). Для таких класів допускаються тільки два специфікатори: public і internal, за умовчанням, тобто якщо жоден специфікатор доступу не вказаний, мається на увазі специфікатор internal.

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

Об'єкти створюються явним або неявним чином, тобто або програмістом, або системою. Програміст створить екземпляр класу за допомогою операції new, наприклад:

 

Demo a = new Demo ( ); // створення екземпляра класуDemo

Demo b = new Demo ( ); // створення іншого екземпляра класуDemo

 

Як ви пам'ятаєте, клас відноситься до посилальних типів даних, пам'ять під яких виділяється. Таким чином, змінні х і у зберігають не самі об'єкти, а посилання на об'єкти, тобто їх адреси. Якщо достатній для зберігання об'єкту об'єм пам'яті виділити не вдалося, операція new генерує виключення Outofmemory-exception. Рекомендується передбачати обробку цього виключення в програмах, що працюють з об'єктами великого об'єму.

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

Функціональні елементи класу не тиражуються, тобто завжди зберігаються в єдиному екземплярі. Для роботи з даними класу використовуються методи класу (статичні методи), для роботи з даними екземпляра - методи екземпляра, або просто методи.

До цих пір ми використовували в програмах тільки один вид функціональних елементів класу - методи. Поля і методи є основними елементами класу. Крім того, в класі можна задавати цілу гамму інших елементів, приведених на рис. 5.1.

Опис елементів класу:

• Константи класу зберігають незмінні значення, пов'язані з класом.

• Поля містять дані класу.

• Методи реалізують обчислення або інші дії, що виконуються класом або екземпляром.

• Властивості визначають характеристики класу в сукупності із способами їх завдання і отримання, тобто методами запису і читання.

• Конструктори реалізують дії з ініціалізації екземплярів або класу в цілому.

• Деструктори визначають дії, які необхідно виконати до того, як об'єкт буде знищений.

• Індексатори забезпечують можливість доступу до елементів класу по їх порядковому номеру.

• Операції задають дії з об'єктами за допомогою знаків операцій.

• Події визначають повідомлення, які може генерувати клас.

• Типи - це типи даних, внутрішні по відношенню до класу.

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

 


<== попередня лекція | наступна лекція ==>
Рекомендації по програмуванню | Дані: поля і константи


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн