99555

Коллекции объектов в Visual Basic

Доклад

Информатика, кибернетика и программирование

В Visual Basic объекты можно объединять в коллекции. Как правило, такие объекты относятся к одному типу. Однако можно объединять в коллекцию и объекты разных типов. Коллекция позволяет выполнять некоторые одинаковые действия со всеми входящими в нее объектами.

Русский

2016-09-23

125 KB

0 чел.

Коллекции объектов

К коллекции объектов можно применять оператор For Each.

В Visual Basic объекты можно объединять в коллекции. Как правило, такие объекты относятся к одному типу. Однако можно объединять в коллекцию и объекты разных типов. Коллекция позволяет выполнять некоторые одинаковые действия со всеми входящими в нее объектами.

В Visual Basic определены две встроенные коллекции объектов, к которым можно обращаться непосредственно:

Forms - включает все загруженные формы проекта;

Controls - включает управляющие элементы всех форм.

Каждая коллекция, кроме методов и свойств, входящих в нее объектов, имеет собственные методы и свойства. Кроме того, все коллекции имеют следующие общие свойства и методы:

• свойство Count - содержит число объектов в коллекции;

• метод Item - служит для выбора объекта в коллекции. Некоторые коллекции имеют следующие методы:

Add - с его помощью в коллекцию можно включить новый объект;

Remove - с его помощью объект можно исключить из состава коллекции.

В случае необходимости, кроме встроенных коллекций, можно определять свои коллекции. Для этого необходимо создать объект типа Collection. Объявление такого объекта имеет синтаксис

Public  |    [Private] |  Dim ИмяКоллекции As New Collection

 Некоторые объекты могут не поддерживать какое-то конкретное свойство или метод. VB позволяет обойти это препятствие двумя способами: с помощью ключевого слова TypeOf и функции TypeName.

Ключевое слово TypeOf можно использовать только в операторах IfThenElse … . Необходимо включить имя класса непосредственно в разрабатываемый код. Например, If TypeOf MyControl Is CheckBox Then ….

Функция TypeName отличается большей гибкостью. Ее можно использовать в любом месте кода и, так как она возвращает имя класса в строке, ее можно использовать в операторах сравнения со строковой переменной.

Рассмотрим пример создания коллекции управляющих элементов и их массовой обработки. В экранной форме проекта для этого примера будут размещены пять элементов управления CommandButton и один элемент Label. Все элементы CommandButton будут включены в коллекцию, а затем для каждого управляющего элемента этой коллекции в цикле For Each свойствам Caption будет установлено значение Мы из коллекции. Для разработки программы примера следует выполнить такие действия.

1. Создать новый проект с экранной формой, как показано на рис. 1, установить ее свойству Caption значение Цикл For Each.

Рис. 1

2. Поместить в форму управляющий элемент CommandButton, а затем создать массив из четырех этих элементов.

3. Поместить в экранную форму еще два элемента CommandButton, установив их свойствам Caption значения Выполнить и Выход соответственно.

4. Свойству Caption управляющего элемента Label установить значение Коллекция управляющих элементов.

5. В раздел "General" формы поместить код:

Option Explicit

Dim Коллекция As New Collection 'Объявление объекта типа Collection

Dim X As Control 'Объявление переменной типа Control

6. В процедуру обработки события Click для управляющего элемента с именем Command2 поместить код:

Private Sub Command2_Click()

For Each X In Controls   'Начало цикла

If TypeOf X Is CommandButton Then

 'Если управляющий элемент CommandButton,

'то добавить в коллекцию

Коллекция.Add X

End If

Next X 'Конец цикла For Each

For Each X In Коллекция

'Цикл, устанавливающий значения свойств

'Caption коллекции элементов

X.Caption = «Мы из коллекции»

Next X

End Sub

7. В процедуру обработки события Click для управляющего элемента с именем Command3 поместить код:

Private Sub Command3_Click()

End

       End Sub

8. Запустить программу на выполнение. После щелчка мышью по кнопке <Выполнить> изображение на экране примет вид, как показано на рис. 2.

Рис. 2


 

А также другие работы, которые могут Вас заинтересовать

68945. Передача об’єктів функціям. Повернення об’єктів 37.5 KB
  Об’єкти можна передавати функціям, як звичайні змінні. Для цього застосовується звичайний механізм передачі параметрів по значенню. Не дивлячись на зовнішню простоту, цей процес може привести до несподіваних наслідків, що стосуються конструкторів і деструкцій.
68946. Покажчик this 29 KB
  При виклику функції-члена їй неявно передається покажчик на зухвалий об’єкт. Цей покажчик називається this. Розглянемо програму, в якій описаний клас pwr, призначений для обчислення ступеня деякого числа.
68947. Вказівники на члени класу 32 KB
  Вказівник такого вигляду називається вказівником на член класу. Цей незвичайний вказівник задає зсув усередині об’єкту відповідного класу. Оскільки вказівники на члени класу не є вказівниками в звичайному сенсі слова до них не можна застосовувати операторів.
68948. Перевантаження операторів 40 KB
  Перевантаження скорочених операторів присвоєння Обмеження на перевантаження операторів З перевантаженням функцій тісно пов’язаний механізм перевантаження операторів. У мові C можна перенавантажувати більшість операторів набудувавши їх на конкретний клас.
68949. Перевантаження операторів new і delete 53.5 KB
  У мові C++ можна перенавантажувати операторів new і delete. Це доводиться робити, якщо виникає необхідність створити особливий механізм розподілу пам’яті. Наприклад, можна зажадати, щоб процедура розподілу пам’яті використовувала жорсткий диск як віртуальну пам’ять, якщо купа вичерпана.
68950. Перевантаження операторів [], () 49.5 KB
  Ці оператори також можна перенавантажувати, що породжує масу цікавих можливостей. На перевантаження цих операторів розповсюджується одне загальне обмеження: вони повинні бути нестатичними функціями-членами. Дружні функції застосовувати не можна.
68951. Деформация кристалла 142 KB
  Деформа́ция (от лат. deformatio — «искажение») — изменение взаимного положения частиц тела, связанное с их перемещением относительно друг друга. Деформация представляет собой результат изменения межатомных расстояний и перегруппировки блоков атомов.
68952. Наслідування. Доступ до членів класу 31.5 KB
  Наслідування — один з наріжних каменів обєктно-орієнтованого програмування, оскільки воно дозволяє створювати ієрархічні класифікації Використовуючи Наслідування, можна створювати загальні класи, що визначають властивості, характерні для всієї сукупності споріднених класів.
68953. Конструктори похідних класів 44 KB
  У звязку із наслідуванням виникають два питання, що стосуються конструкторів і деструкцій. По-перше, коли викликаються конструктори і деструкції базового і похідного класів? По-друге, як передаються параметри конструкторів базового класу? Відповіді на ці питання містяться в наступному розділі.