Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Робота з модулями класів






Інший тип модулів, що заслуговує на нашу увагу, - модулі класів, або просто класи. Класи є фундаментальними " будівельними блоками" в так званому об'єктно-орієнтованому програмуванні (ТОП). Одні і ті ж об'єкти використовуються на всіх стадіях розробки проекту. Детальніша інформація про ТОП приведена в уроці 15.

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

Visual Basic дозволяє вставляти класи в проект або компілювати їх, перетворюючи на елементи ActiveX - бібліотеки динамічного компонування (DLL) або нестандартні елементи, які раніше називалися OCX. Елемент ActiveX можна використовувати в програмі або впровадити в документ World Wide Web (зазвичай звані документами HTML). Приклад з уроку 10, " Діалогові вікна", показує, як створити клас нестандартного діалогового вікна і відкомпілювати його в ActiveX DLL. У уроці 17, " Використання ActiveX", приведена конкретніша інформація по ActiveX. Як ви переконаєтеся, класи лежать в основі багатьох нових можливостей Visual Basic. А доки ми розглянемо модулі класів і їх роль у ваших проектах, не вдаючись до теоретичних тонкощів ТОП.

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

Класи, як і стандартні модулі, зберігаються в окремих файлах, проте вони обов'язково включають дві процедури - Class_Initialize() і Class_Terminate():

Процедура Class_Initialize() задає значення властивостей за умовчанням або виконує інші підготовчі дії. Наприклад, створений вами клас на початку роботи може виводити діалогове вікно з повідомленням або переглядати системний реєстр у пошуках деякого параметра.

Процедура Class_Terminate() містить код для виконання завершуючих дій. Можливо, ваш клас створює тимчасові файли на жорсткому диску -в кінці роботи їх слід видалити. Для подібних дій і призначена процедура Class_Terminate.

Методи

Методи класів виконують майже ті ж завдання, що і процедури модулів. Ім'я методу може мати модифікатор Private або Public залежно від його зони видимості. Відкриті (Public) методи утворюють програмний інтерфейс класу, і програми можуть працювати з ними без всяких обмежень. Закриті (Private) методи використовуються класами для виконання внутрішніх операцій, недоступних за межами класу.

Прикладом закритого методу може послужити метод для витягання інформації з бази даних персоналу. Доступ до таких даних має бути обмежений, тому вони витягаються закритим методом. Потім ви можете написати відкритий метод, усередині якого викликатиметься закритий. Наступний приклад - клас, що імітує роботу банкомату:

 

Private Function GetBalance(AccountNo As String) As Double

GetBalance = 10000000

End Function

 

Public Function DisplayAccountInfo(AccountNo As String, PIN As _

String) As Double

 

If AccountNo = " 123456" And PIN = " 5551289" Then

DisplayAccountlnfo = GetBalance(AccointNo)

End If

End Sub

 

Функція GetBalance оголошена закритій, оскільки стороннім абсолютно немає чого знати про стан чужих рахунків. Тільки уявіть собі, як багато друзів у вас з'явиться, коли усі дізнаються про ваш рахунок в 10 мільйонів доларів! Щоб обмежити доступ до інформації, користувач повинен пройти через процедуру DisplayAccountlnfo. У цій процедурі перед отриманням інформації про стан рахунку перевіряються номер рахунку і особистий ідентифікатор (PIN).






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.