Студопедия

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

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

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






Властивості






Як ви дізналися з уроку 3, властивості - це змінні, призначені для отримання і повернення цих класів. Властивості, як і методи, бувають закритими і відкритими. Відкриті властивості можуть використовуватися процедурами, що знаходяться поза зоною видимості цього класу. Відкриті властивості утворюють частину інтерфейсу класу. Закриті властивості використовуються для зберігання інформації, що не входить в інтерфейс. Вони запобігають навмисній або випадковій зміні даних, що забезпечують нормальну роботу класу. Ці дані можна отримати тільки за допомогою спеціальних функцій відкритого інтерфейсу. Робота з властивостями класів здійснюється за допомогою операторів Property Get, Property Let і Property Set. Оператор Property Get утворює відкритий інтерфейс для набуття значень змінних класу, до яких програма не може звернутися безпосередньо. Оператор Property Let виконує протилежне завдання - він дозволяє задавати значення змінних класу. Оператор Property Set дозволяє передати об'єкт по посиланню. Така можливість може згодитися, якщо модуль класу повинен безпосередньо працювати із зовнішнім елементом (у наступному прикладі буде показано, як це робиться). Властивості також можна створювати, оголошуючи їх відкритими в цьому класі. Оператори Property Get і Property Let дозволяють створити просту модель безпеки для властивостей класу. Повернемося до нашого прикладу з банкоматом. Там є два хороші претенденти на роль властивостей - змінні AccountNo і PIN. Давайте переробимо наш клас так, щоб ви могли задати потрібні значення властивостей і потім викликати методи без всяких параметрів. Наприклад:

 

Public AccountNo As String

Public PINNo As String

 

Private Function GetBalanceO As Double

GetBalance = 10000000

End Function

 

Public Function DisplayAccountlnfo() As Double

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

DisplayAccountlnfo = GetBalance()

End If

End Function

 

А ось як виглядає той же фрагмент з використанням операторів Property Let і Property Get:

 

Private AcctNo As String

Private PINNo As String

 

Private Property Let AccountNo(x As String)

AcctNo = x

End Property

 

Public Property Let PIN(x As String)

PINNo = x

End Property

 

Private Function GetBalance() As Double

GetBalance = 10000000

End Function

 

Public Function DisplayAccountlnfo() As Double

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

DisplayAccountlnfo = GetBalance()

End If

End Function

Події

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

Усі стандартні процедури, що відображуються у вікні програми, відносяться до подій. Наприклад, процедура Form_Load є подією.

Для визначення подій в класі використовуються ключові слова Public Event в секції(Declarations) модуля. Синтаксис виглядає таким чином:

 

Public Event EventName(napaметри)

 

Зверніть увагу: в цьому рядку міститься лише оголошення події, а не його конкретна процедура. Для створення події у формі використовується синтаксис наступного виду:

 

Private WithEvents x As ClassName

 

Наприклад, рядок

 

Private WithEvents p As Person

 

оголошує закритий об'єкт р, створений на основі класу Person (людина). Якби наша " людина" могла говорити, клас міг би містити подію Speak. При оголошенні події головну роль грає ключове слово WithEvents. Без нього ви могли б звертатися до відкритих властивостей і методів класу, але не до його подій.

Чому ж подіям приділяється так багато уваги? Тому що вони позбавляють ваше застосування від необхідності активного опитування даних. Активним опитуванням називається багатократна перевірка деякої величини до тих пір, поки не буде виконано певну умову. Цикл активного опитування поглинає ресурси процесора і уповільнює роботу програми. Завдяки подіям ваша програма може зайнятися рішенням інших завдань до того моменту, поки не буде ініційовано відповідну подію.

Наше знайомство з основними концепціями класів добігає кінця. Форми, програмні модулі і елементи є основними будівельними блоками в додатках, написаних на Visual Basic. Тепер давайте заглянемо чим глибше і подивимося, як з цих блоків побудувати що-небудь корисне.






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