об'єктні змінні

Процедури Property Let, Property Set і Property Get

Процедура Property Get забезпечує можливість зчитування значення властивостей. Процедура Property Get є процедурою типу Function.

Процедури Property Let, Property Set і Property Get мають таку ж структуру, що і звичайні процедури. Просто вони призначені для специфічних завдань, описаних вище.

Синтаксис процедури Property Let:

[Public | Private] [Static] Property Let <имяПроцедуры> [(<списокАргументов>)] <операторы> [Exit Property] <операторы>End Property

Синтаксис процедури Property Set:


[Public | Private] [Static] Property Set <имяПроцедуры> [(<списокАргументов>)] <операторы> [Exit Property] <операторы>End Property

Синтаксис функції Property Get:

[Public | Private] [Static] Property Get <имяФункции> [(<списокАргументов>)] [As <тип>] <операторы> імяФункціі = повертається значення [Exit Property] <операторы> імяФункціі = повертається значеніеEnd Property

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

Якщо є описи:

Dim Х As Т, Y As Т1

то без контексту зрозуміти не можна, що таке Х і Y - "звичайні" змінні або об'єкти. Наприклад, якщо Т - тип, заданий користувачем, а Т1 - визначений ним клас, то Х - це змінна, а Y - об'єкт. Клас і тип - поняття, якщо не еквівалентні, то близькі за змістом. Так само близькі поняття об'єкта і змінної. Клас - це спеціальна форма визначення типу. Якщо є тип Т і клас Т1, то можна оголосити довільне число примірників типу Т і класу Т1. Примірники типу Т називаються змінними, класу Т1 - об'єктами. Клас задає властивості, методи і події своїх об'єктів. Тип завжди задає властивості, неявно - методи, але ніколи - події.

де Т1 - клас, об'єкт Y ми часто називаємо змінної, кажучи, що вона має тип Object.

· Створити новий об'єкт, виділивши йому пам'ять;

· Послатися на вже існуючий об'єкт.

Є два способи зв'язування: ранній і пізній.

При пізньому зв'язуванні змінна оголошується так:

Dim <Переменная> As Object

Dim <Переменная> As <классОбъекта>

Dim Петров As Особистість, Козлов As Особистість

Це дозволяє ще на етапі трансляції перевіряти, чи припустимі ті чи інші операції над об'єктами Козлов і Петров (опис класу Особистість дивись в "Користувальницькі класи"). Для програміста особливо важливо, що при ранньому зв'язуванні, коли заданий клас об'єкта, в процесі роботи з цим об'єктом йде підказка про його властивості та методи.

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

· Призначені для користувача об'єкти, чий клас визначений користувачем в одному з модулів класу; наприклад, об'єкти класу Особистість, створеного в попередній темі;

· Об'єкти рідного додатки (Excel, Word, PowerPoint та ін. Додатки Microsoft Office), якому належить проект і які доступні за замовчуванням;

· ActiveX-об'єкти, зокрема, об'єкти інших додатків Microsoft Office при їх підключенні до вихідного додатком. Наприклад, в Word можна підключити об'єкти Excel, і навпаки, документи Word включити в робочі листи Excel.


Генерація сторінки за: 0.007 сек.

Схожі статті