Урок 8 з VBScript Об’єкти такласи

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

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

І так, давайте для початку розглянемо, як відбувається підключення до vbscript зовнішніх об'єктів. Для цього використовуються дві функції:

CreateObject( servername.typename[, location ] ) - Створює екземпляр об'єкта-сервера автоматизації та повертає посилання на нього. Тут servername - ім'я програми, що є сервером; typename - тип чи клас; location - ім'я мережі комп'ютера.

У більшості випадків, достатньо вказати лишеservername.typename, наприклад:

Як бачимо, спочатку потрібно оголосити змінну, далі ми використовуємо ключове слово Set після якого слідує наша змінна. Після того, як ми створили посилання на потрібний об'єкт у сценарії vbscript, до нього можна буде звернутися вже через ім'я змінної.

GetObject([pathname] [, classname] ) - Повертає посилання на об'єкт класу classname, який зберігається в окремому файлі, шлях до якого задає параметр pathname.

Як правило, ця функція використовується при роботі зWindows Management Instrumentation :

Тут ми підключаємось до простору імен CIMV2.

В якийсь момент може відпастиДля використання vbscript об'єктів, щоб звільнити на них посилання, використовується ключове словоNothing :

можна

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

ClassМетоди та властивостіEnd Class

Як бачимо, все в принципі просто, добре, давайте створимо свій перший клас (об'єкт) vbscript:

такласи

Тут ми спочатку створили об'єкт my_class, в ньому ми прописали одну функцію, дві змінні та один масив. Далі ми створили посилання на наш об'єкт vbscript через змінну new_class. Фактично тепер ми взаємодіємо не з самим класом, а з його копією. Щоб не писати зайві рядки коду при заповненні властивостей, можна вдатися до допомоги однієї конструкції.

With. End With - Дозволяє звертатися до властивостей об'єкта vbscript без написання його імені, наприклад:

Давайте далі, для членів класів vbs у мові vbscript є такі ключові слова:

Private – видимість лише всередині коду для заданого класу vbs.

Public – доступність як усередині, і зовні (значення властиве за умовчанням).

Також, якщо змінної потрібно присвоїти значення відразу в тілі класу, то можна використовувати функцію Property Get, її синтаксис наступний:

Property Get ім'я змінноїІм'я змінної=значенняEnd Property

Хоча по правді, є й інші функції, однак якщо їх зараз описувати, то це лише заплутає ситуацію, тому, давайте поки подивимося на наступний приклад:

такласи

Дякую за увагу. Автор блогу Володимир Баталій