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

І так, давайте для початку розглянемо, як відбувається підключення до 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
Хоча по правді, є й інші функції, однак якщо їх зараз описувати, то це лише заплутає ситуацію, тому, давайте поки подивимося на наступний приклад:

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