- •Тема: Робота з файлами
- •22/1. Можливості vb
- •23/2. Робота з інформацією про файл
- •24/3. Основні операції з файлами
- •29/4. Робота з каталогами та пристроями
- •30/5. Перегляд оточення
- •34/ 6.1. Основні поняття
- •35/ 6.2. Поняття класу
- •37/6.3. Члени класів
- •38/ Властивості
- •40/6.4. Створення та видалення класів та екземплярів класів
- •41/6.5. Перевизначення методів базових класів
- •42/ 6.6. Інтерфейси
35/ 6.2. Поняття класу
Кожен клас містить набір полів, методів, властивостей, подій (узагальнено ¬ но їх називають членами класу). Розглянемо коротко кожну з цих складових класу. Більш докладний опис буде дано далі.
Поля - змінні, що належать класу або екземпляру класу. Належність до класу або екземпляру класу характерна не лише для полів, а й для методів, подій і властивостей.
Методи – процедури і функції класу.
Властивості – синтаксична надбудова, яка дозволяє здійснювати у формі виклик функції, аналогічна читанню або запису змінної. Наприклад, можна оголосити властивість вік, і при спробі запису в нього від'ємних значення видавати помилку. Насправді це не просто синтаксична надбудова. Властивості підтримуються не лише самим компілятором, а й середовищем Visual Basic. NET, однак для простоти розуміння цей момент можна опустити.
Події – синтаксична надбудова, підтримувана компілятором і середовищем Visual Basic. NET, яка дозволяє викликати методи інших об'єктів, які підписалися на дану подію. Наприклад, підписавшись на подію натискання об'єкта кнопка, який підписався об'єкт кожен раз при натисканні кнопки буде одержувати повідомлення (у вигляді виклику методу).
Кожна з цих складових класу, а також сам клас можуть мати так звані модифікатори доступу, які вказують область її видимості. Значення модифікаторів можуть бути наступними.
Public – відкритий клас або член класу. Доступ до нього дозволені із будь-якого місця коду.
Private – клас або член класу, доступний тільки з контексту, в якому він оголошений, і у всіх вкладених контекстах. Це означає, що якщо, наприклад, властивість оголошено з модифікатором Private, то воно доступно тільки з того ж самого класу і з вкладених в нього класів.
Friend – клас або член класу, доступний тільки всередині тієї ж збірки, в якій оголошено. Збірка - повністю самостійна одиниця програми. NET. У Visual Basic. NET збірка зазвичай відповідає всій програмі, тому даний модифікатор можна сприймати як вказівка видимості тільки в межах програми.
Protected – член, доступний тільки з самого класу і з успадковуючи класів. Даний модифікатор застосуємо тільки до членів класів.
Protected Friend – об'єднання областей видимості Protected і Friend. Член доступний в тій же збірці або в успадковуючи класах.
Поряд з модифікаторами доступу, що регламентують видимість, члени класу можуть містити модифікатори, що встановлюють їх належність до класу або до примірника класу. Члени класу, що належать класу, називають розділяємими або статичними членами.
Член класу оголошується статичним модифікатором Shared.
Члени, які належать екземпляру, називаються екземплярними (instance). Щоб зрозуміти різницю між цими видами методів і по ¬ лей (і як наслідок - властивостей і подій), необхідно більш докладно розглянути механізм виклику методів та звернень до полів.
Оголошення класу фактично задає послідовність розташування полів у пам'яті і способи виклику функцій. При створенні конкретного екземпляра об'єкта відбувається виділення пам'яті відповідно до структури полів класу. При виклику екземплярного методу як неявного параметра йому передається інформація про екземпляр класу, для якого викликаний цей метод (в Visual Basic. NET ця неявна посилання позначається ключовим словом ме, а посилання на клас - словом Myclass). При виклику статичного метода такої інформації не передається, тому статична функція може бути викликана і при відсутності будь-якого екземпляра класу. Звідси відразу випливає обмеження, що накладається на статичні методи. Статичний метод не може звертатися до нестатичних методів і полів свого класу без зазначення конкретного екземпляра.
При зверненні до поля екземпляра класу доступ проводиться за зміщеннями щодо початку положення екземпляра класу в пам'яті. На відмінність від екземплярності поля, статичне поле не вимагає конкретного об'єкта, оскільки воно створюється і ініціалізується всього один раз. Статичні поля аналогічні глобальним змінним в інших мовах програмування. Середа Visual Basic. NET не підтримує глобальних змінних в чистому вигляді. Замість них можна оголошувати статичні поля класу.
При створенні класу використовуються наступна конструкція:
[ Public | Private | Protected | Friend Protected | Friend] [Shadows] Class name
[ Implements interfacename ]
[ statements ]
End Class
Де Shadows – вказує на те, що клас містить в собі елемент з аналогічною назвою.
Interface – Назва інтерфейсу, який реалізований даним класом.
Statements – події, властивості, поля та методи що знаходяться в цьому класі.
