Что такое объект visual basic

Объектно-ориентированное программирование (Visual Basic)

Visual Basic обеспечивает полную поддержку объектно-ориентированного программирования, включая инкапсуляцию, наследование и полиморфизм.

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

Наследование описывает возможность создания новых классов на основе существующих классов.

Полиморфизм означает, что можно иметь несколько взаимозаменяемых классов, даже если каждый класс реализует одни и те же свойства или методы разными способами.

В этом разделе рассматриваются следующие понятия.

Классы и объекты

Термины класс и объект часто взаимозаменяемы, но в действительности классы описывают типы объектов, а объекты — это используемые экземпляры классов. Поэтому процесс создания объекта называется созданием экземпляра. Если использовать сравнение с чертежом, то класс является чертежом, а объект является зданием, построенным по нему.

Дополнительные сведения можно найти в разделе

Члены класса

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

Свойства и поля

Поля и свойства представляют сведения, содержащиеся в объекте. Поля подобны переменным в том, что их можно прочитать или изменить напрямую.

Для работы со свойствами используются процедуры «Get» и «Set», которые расширяют возможности управления способом задания и возврата значений.

Visual Basic позволяет создать частное поле для хранения значения свойства или использовать так называемые автоматически реализуемые свойства, которые создают это поле автоматически в фоновом режиме и предоставляют базовую логику для процедур свойств.

Определение автоматически реализуемого свойства:

Если требуется выполнить дополнительные операции чтения и записи применительно к значению свойства, определите поле для хранения значения свойства и затем реализуйте базовую логику для хранения и извлечения этого значения:

Дополнительные сведения можно найти в разделе

Методы

Действие, которое выполняет объект, называется методом.

В Visual Basic существует два способа создания метода: с помощью оператора Sub (если метод не возвращает значение) или с помощью оператора Function (если метод возвращает значение).

Определение метода класса:

Класс может иметь несколько реализаций или перегрузок одного и того же метода, которые отличаются от других числом или типами параметров.

Дополнительные сведения можно найти в разделе

Конструкторы

Конструкторы — это методы классов, выполняемые автоматически при создании объекта заданного типа. Обычно конструкторы выполняют инициализацию членов данных нового объекта. Конструктор можно запустить только один раз при создании класса. Кроме того, код конструктора всегда выполняется раньше всех остальных частей кода в классе. Следует отметить, что так же, как и для других методов, можно создать несколько перегрузок конструктора.

Определение конструктора для класса:

Деструкторы

События

События позволяют классу или объекту уведомлять другие классы или объекты о возникновении каких-либо ситуаций. Класс, отправляющий (или порождающий) событие, называется издателем, а классы, принимающие (или обрабатывающие) событие, называются подписчиками. Дополнительные сведения о том, как порождаются и обрабатываются события, см. в разделе События.

Для объявления событий используйте инструкцию Event.

Для вызова событий используйте оператор RaiseEvent.

Чтобы иметь возможность динамически добавлять, удалять и изменять обработчик событий, связанный с событием, используйте оператор AddHandler и оператор RemoveHandler вместе с оператором AddressOf.

Вложенные классы

Класс, определенный внутри другого класса, называется вложенным. По умолчанию вложенный класс является частным.

Чтобы создать экземпляр вложенного класса, укажите имя класса контейнера и имя вложенного класса, используя в качестве разделителя точку:

Модификаторы доступа и уровни доступа

С помощью модификаторов доступа все классы и члены классов могут указывать уровни доступа, предоставляемые другим классам.

Имеющиеся модификаторы доступа указаны в следующей таблице.

Модификатор Visual BasicОпределение
PublicДоступ к типу или члену возможен из любого другого кода в той же сборке или другой сборке, ссылающейся на него.
ЧастнаяДоступ к типу или члену можно получить только из кода в том же классе.
ОтДоступ к типу или члену можно получить только из кода в том же классе или в производном классе.
ОбъявлениеДоступ к типу или члену возможен из любого кода в той же сборке, но не из другой сборки.
Protected FriendДоступ к типу или члену возможен из любого кода в той же сборке, или из производного класса в другой сборке.

Создание экземпляров классов

Чтобы создать объект, необходимо создать экземпляр класса.

После создания экземпляра класса можно присваивать значения свойствам и полям экземпляра и вызывать методы класса.

Чтобы назначить значения свойствам в процессе создания экземпляра класса, используйте инициализаторы объектов:

Дополнительные сведения можно найти в разделе

Общие классы и члены

Общий член класса является свойством, процедурой или полем, которое совместно используется всеми экземплярами класса.

Определение общего члена:

Чтобы получить доступ к общему члену, используйте имя класса без создания объекта этого класса:

общие модули в Visual Basic имеют только общие члены и не могут быть созданы. Общие члены также не могут получать доступ к свойствам, полям или методам, не являющимся общими

Дополнительные сведения можно найти в разделе

Анонимные типы

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

Создание экземпляра анонимного типа:

Дополнительные сведения можно найти в разделе Анонимные типы.

Наследование

Visual Basic не поддерживает множественное наследование. То есть можно указать только один базовый класс для производного класса.

Наследование от базового класса:

По умолчанию унаследовать класс можно от любого класса. Однако можно указать, должен ли класс использоваться в качестве базового класса, или создать класс, который может использоваться только в качестве базового.

Указание, что класс не может использоваться в качестве базового класса:

Указание, что класс может использоваться только в качестве базового класса и нельзя создать экземпляр этого класса:

Дополнительные сведения можно найти в разделе

Переопределение членов

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

Следующие модификаторы используются для управления переопределением свойств и методов.

Модификатор Visual BasicОпределение
OverridableРазрешает переопределение члена класса в производном классе.
ПереопределенияПереопределяет виртуальный (переопределяемый) член в базовом классе.
NotOverridableЗапрещает переопределение члена в наследующем классе.
MustOverrideТребует, чтобы член класса был переопределен в производном классе.
ShadowsСкрывает член, наследуемый от базового класса

Интерфейсы

Интерфейсы, как и классы, определяют набор свойств, методов и событий. Но, в отличие от классов, интерфейсы не предоставляют реализацию. Они реализуются классами, но определяются как отдельные от классов сущности. Интерфейс представляет собой контракт, в котором класс, реализующий интерфейс, должен реализовывать каждый аспект этого интерфейса в точном соответствии с его определением.

Реализация интерфейса в классе:

Дополнительные сведения можно найти в разделе

Универсальные шаблоны

Определение универсального класса:

Создание экземпляра универсального класса:

Дополнительные сведения можно найти в разделе

Делегаты

Делегат — это тип, который определяет сигнатуру метода и может обеспечивать связь с любым методом с совместимой сигнатурой. Метод можно запустить (или вызвать) с помощью делегата. Делегаты используются для передачи методов в качестве аргументов к другим методам.

Обработчики событий — это ничто иное, как методы, вызываемые с помощью делегатов. Дополнительные сведения об использовании делегатов при обработке событий см. в разделе События.

Создание ссылки на метод, сигнатура которого соответствует сигнатуре, указанной делегатом:

Дополнительные сведения можно найти в разделе

Источник

Общие сведения об объектах, методах, свойствах и событиях

Объекты и коллекции

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

Коллекция — это объект, который содержит несколько других объектов обычно, но не всегда, одного типа. Например, в Microsoft Excel объект Workbooks содержит все открытые объекты Workbook. В Visual Basic коллекция Forms содержит все объекты Form в приложении.

Элементы в коллекции могут идентифицироваться по номеру или по имени. Например, в указанной ниже процедуре первый открытый объект Workbook идентифицируется по номеру.

В приведенной ниже процедуре используется имя, указанное в виде строки, для идентификации объекта Form.

Можно также обрабатывать всю коллекцию объектов, если объекты совместно используют общие методы. Например, следующая процедура закрывает все открытые формы.

Возврат объектов

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

Методы

Метод — это действие, которое может выполняться объектом. Например, Add — это метод объекта ComboBox, так как им добавляется новая запись в поле со списком.

В следующей процедуре метод Add используется для добавления нового элемента в ComboBox.

Свойства

Свойство — это атрибут объекта, которой определяется одно из характеристик объекта, такая как размер, цвет, местоположение экрана или характер поведения объекта, например включен ли он и является ли видимым. Чтобы изменить характеристики объекта, изменяют значения его свойств.

Чтобы установить значение свойства, введите после ссылки на объект точку, имя свойства, знак равенства (=) и новое значение свойства. Например, указанная ниже процедура изменяет заголовок формы Visual Basic путем установки свойства Caption.

Некоторые свойства невозможно установить. В справочном разделе по каждому свойству указывается, можно ли установить это свойство (чтение-запись), только прочитать свойство (только чтение) или только записать свойство (только запись).

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

События

Событие — это действие, распознаваемое объектом, например щелчок мыши или нажатие клавиши, для которого можно написать код реагирования. События могут возникать в результате действий пользователя или кода программы либо вызываться системой.

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Источник

Понимание объектов, свойств и методов

Объекты являются основными строительными блоками Microsoft Visual Basic; почти все, что вы делаете в Visual Basic, включает изменение объектов. Каждый элемент Microsoft Word, например документы, таблицы, абзацы, закладки и поля, может быть представлен объектом в Visual Basic.

Что такое объекты и коллекции?

Объект представляет элемент Word, например документ, абзац, закладку или один символ. Коллекция — это объект, содержащий несколько других объектов, обычно одного типа; например, все объекты закладки в документе содержатся в одном объекте коллекции. С помощью свойств и методов можно изменить один объект или целую коллекцию объектов.

Что такое свойство?

Свойство — это атрибут объекта или аспект его поведения. Например, свойства документа включают его имя, содержимое и состояние сохранения и включено ли отслеживание изменений. Чтобы изменить характеристики объекта, изменяют значения его свойств.

Чтобы установить значение свойства, выполните ссылку на объект с периодом, именем свойства, равным знаком и новым значением свойства. В следующем примере включается отслеживание изменений в документе с MyDoc.doc.

В этом примере ссылается на коллекцию открытых документов, а имя «Sales.doc» определяет один документ Documents в коллекции. Свойство TrackRevisions установлено для этого единого документа.

Некоторые свойства невозможно установить. В разделе Справка для свойства указывает, можно ли это свойство задать (читать/писать) или только читать (только для чтения).

Вы можете возвращать сведения об объекте, возвращая значение одного из его свойств. В следующем примере возвращается имя активного документа.

Примечания

В разделе Справка для каждого свойства указывается, можно ли задать это свойство (читать/писать), только читать свойство (только для чтения) или только записывать свойство (только для записи). Кроме того, объектный браузер в Visual Basic редактора отображает состояние чтения и записи в нижней части окна браузера при выборе свойства.

Что такое метод?

Метод — это действие, которое может выполняться объектом. Например, как и документ может быть напечатан, объект Document имеет метод PrintOut. Методы часто имеют аргументы, которые квалифицируют, как выполняется действие. В следующем примере печатаются первые три страницы активного документа.

В большинстве случаев методы являются действиями, а свойства — качествами. Использование метода вызывает что-то с объектом, а при использовании свойства возвращает сведения об объекте или вызывает изменение качества объекта.

Возвращение объекта

Большинство объектов возвращаются, возвращая один объект из коллекции. Например, коллекция Документов содержит открытые документы Word. Для возврата коллекции документов используется свойство Documents объекта Application (объект в верхней части иерархии объектов Word).

После доступа к коллекции можно вернуть один объект с помощью значения индекса в скобки (это похоже на работу с массивами). Значение индекса обычно является числом или именем. Дополнительные сведения см. в статью Возвращение объекта из коллекции.

В следующем примере свойство Documents используется для доступа к коллекции документов. Номер индекса используется для возврата первого документа в коллекции Документов. Затем метод Close применяется к объекту Document, чтобы закрыть первый документ в коллекции Документов.

В следующем примере используется имя (указанное в качестве строки) для идентификации объекта Document в коллекции Документов.

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

Объект Document также имеет метод Сохранить, доступный для сохранения одного документа. В следующем примере сохраняется документ с именем Sales.doc.

Чтобы вернуть объект, который находится дальше в иерархии объектов Word, необходимо «сверлить» его с помощью свойств и методов для возврата объектов.

Чтобы узнать, как это делается, откройте редактор Visual Basic и нажмите кнопку Object Browser в меню Просмотр. Щелкните приложение в списке Классов слева. Затем щелкните ActiveDocument из списка участников справа. В тексте в нижней части браузера объектов указывается, что ActiveDocument является свойством только для чтения, которое возвращает объект Document. Щелкните документ в нижней части браузера объектов; Объект Document автоматически выбирается в списке Классов, а в списке Участников отображаются члены объекта Document. Прокрутите список участников, пока не найдете close. Щелкните метод Close. В тексте в нижней части окна Object Browser показан синтаксис метода. Дополнительные сведения о методе нажмите кнопку F1 или нажмите кнопку Справка, чтобы перейти к теме Справка метода Close.

С учетом этих сведений можно написать следующую инструкцию по закрытию активного документа.

В следующем примере максимально увеличивается окно активного документа.

Свойство ActiveWindow возвращает объект Window, который представляет активное окно. Свойство WindowState задавалось максимальной константе (wdWindowStateMaximize).

В следующем примере создается документ и отображается диалоговое окно Save As, чтобы было предоставлено имя документа.

Свойство Documents возвращает коллекцию Документов. Метод Add создает новый документ и возвращает объект Document. Затем метод Сохранить применяется к объекту Document.

Как видите, для сверки объекта используются методы или свойства. То есть вы возвращаете объект, применяя метод или свойство к объекту выше него в объектной иерархии. После возврата нужного объекта можно применить методы и управлять свойствами этого объекта.

Получение справки по объектам, методам и свойствам

До ознакомления с объектной моделью Word можно использовать средства, которые помогут вам сверлить иерархию.

Microsoft IntelliSense. При введите период (.) после объекта в редакторе Visual Basic, отображается список доступных свойств и методов. Например, если ввести, отображается список методов и свойств объекта Application. Application.

Справка. Вы также можете с помощью Справки выяснить, какие свойства и методы можно использовать с объектом. Каждая тема объекта в Справке включает скачок See Also, отображает список свойств и методов объекта. Нажмите кнопку F1 в браузере объекта или в модуле, чтобы перейти к соответствующей теме справки.

Объектный браузер. Объектный браузер в Visual Basic редакторе отображает члены (свойства и методы) объектов Word.

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Источник

Object Data Type

Комментарии

Значение по умолчанию Object — Nothing (пустая ссылка).

Типы данных

Object Тип данных является ссылочным типом. однако Visual Basic обрабатывает Object переменную как тип значения, если она ссылается на данные типа значения.

Память

Любой тип данных, на который он ссылается, Object переменная не содержит само значение данных, а указатель на это значение. Он всегда использует четыре байта в памяти компьютера, но не включает хранилище для данных, представляющих значение переменной. Из-за кода, использующего указатель для нахождение данных, Object переменные, содержащие типы значений, немного медленнее, чем явно типизированные переменные.

Советы по программированию

Производительность. Переменная, объявляемая с Object типом, достаточно гибка, чтобы содержать ссылку на любой объект. Однако при вызове метода или свойства для такой переменной всегда вызывается позднее связывание (во время выполнения). Чтобы принудительно выполнить раннее связывание (во время компиляции) и повысить производительность, объявите переменную с конкретным именем класса или приведите ее к конкретному типу данных.

Расширяющие. Все типы данных и все ссылочные типы расширяются до Object типа данных. Это означает, что можно преобразовать любой тип в Object без возникновения System.OverflowException ошибки.

однако при преобразовании между типами значений и Object Visual Basic выполняет операции, называемые упаковкой и распаковкой, что делает выполнение более медленным.

Символы типа. Object не имеет символа типа литерала или символа типа идентификатора.

Пример

В следующем примере показана Object переменная, указывающая на экземпляр объекта.

Источник

Объекты и классы Visual Basic

Объект представляет собой сочетание кода и данных, которое рассматривается как единое целое. Объект может быть частью приложения, как, например, элемент управления или форма. Также объектом может являться само приложение в целом.

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

В этой статье мы подробно расскажем вам про объекты.

Объекты и классы

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

Взаимосвязь между объектом и его классом можно проиллюстрировать на примере печенья и формочки для печенья. Форма для печенья — это класс. Она определяет характеристики каждого печенья, то есть размер и форму. Класс используется для создания объектов. Отдельные печенья — это и есть объекты.

Необходимо создать объект, чтобы получить доступ к его членам, за исключением Shared элементов, к которым можно получить доступ без объекта класса.

Создание объекта из класса

Определите, из какого класса нужно создать объект, или определите собственный класс. Пример:

Напишите оператор Dim для создания переменной, значением которой будет новый экземпляр класса. Переменная должна иметь тип, соответствующий нужному классу.

Добавьте ключевое слово New Operator, сохранить новый экземпляр класса в переменную.

Теперь члены класса будут доступны через переменную объекта.

Всегда, если это возможно, следует объявлять переменную с типом того класса, который будет в ней храниться. Этот принцип называется раннее связывание. Если во время компиляции тип класса не известен, можно использовать позднее связывание, объявив переменную с типом данных объекта. Но помните, что позднее связывание может снижать производительность и ограничивать доступ к членам объекта во время выполнения. Дополнительные сведения см. в статье Object Variable Declaration (Объявление объектной переменной).

Несколько экземпляров

Обычно все только что созданные из класса объекты идентичны друг другу. Но с того момента, когда они возникают как отдельные объекты, их переменные и свойства изменяются независимо от других экземпляров объекта. Например, если вы добавляете в форму три флажка, каждый из объектов флажков является экземпляром класса CheckBox. Отдельные объекты CheckBox имеют одинаковый набор характеристик и возможностей (свойства, переменные, процедуры и события), которые определены в этом классе. Но каждый из объектов имеет собственное имя, каждый можно отдельно включать и отключать, а также перемещать в другое место на форме.

Члены объекта

Объект является элементом приложения и представляет собой экземпляр некоторого класса. Поля, свойства, методы и события являются составными частями объекта, и совокупно именуются членами объекта.

Доступ к членам

Список членов IntelliSense

Поля и свойства

Поля и свойства представляют сведения, содержащиеся в объекте. Их значения можно задавать и получать с помощью инструкций присваивания, так же как для локальных переменных в процедуре. В следующем примере мы получаем значение свойства Width и устанавливаем значение свойства ForeColor для объекта Label.

Поле можно также называть переменная-член.

Процедуры свойств удобно использовать в следующих случаях.

Вы хотите контролировать, когда и как значения будут задаваться и извлекаться.

Свойство имеет строго определенный набор значений, которые требуется проверять.

Изменение значения приводит к существенному изменению состояния объекта (как, например, значение свойства IsVisible ).

Изменение значения свойства изменяет другие внутренние переменные или значения других свойств.

Перед установкой или получением свойства необходимо выполнить определенный набор действий.

Если выполняются следующие условия, можно использовать поля.

Свойство имеет тип данных String и не имеет ограничений на размер или значение строки.

Дополнительные сведения см. в статье Property Procedures (Visual Basic) (Процедуры свойств в Visual Basic).

Всегда оставляйте неконстантные поля частными. Если вы хотите сделать его общедоступным, используйте вместо него свойство.

Методы

Действие, которое выполняет объект, называется методом. Например, Add — это метод объекта ComboBox, который добавляет новую запись в поле со списком.

В следующем примере иллюстрируется использование метода Start объекта Timer.

По сути метод — это просто процедура, предоставляемая объектом.

Дополнительные сведения см. в разделе Procedures in Visual Basic (Процедуры в Visual Basic).

События

Событие — это действие, распознаваемое объектом, например, щелчок мышью или нажатие клавиши. Вы можете написать код для реагирования на эти события. События могут происходить в результате действий пользователя, выполнения программного кода или изменения состояния системы. Принято говорить, что код, который объявляет о наступлении события, создает это событие, а код, который реагирует на него, обрабатывает событие.

Вы можете разработать собственные события, которые будут создаваться и обрабатываться созданными вами объектами. Дополнительные сведения см. в статье Events (Visual Basic) (События в Visual Basic).

Члены экземпляров и общие члены

Когда вы создаете объект на основе класса, вы получаете экземпляр этого класса. Члены, которые объявлены без ключевого слова Shared, являются членами экземпляра, то есть принадлежат исключительно одному определенному экземпляру. Член экземпляра в одном экземпляре никак не зависит от такого же члена в другом экземпляре того же класса. Например, переменная-член экземпляра может иметь разные значения в разных экземплярах.

Доступ к членам, не являющимся общими

Убедитесь, что объект уже создан на основе нужного класса и сохранен в объектной переменной.

Доступ к общим членам

Различия между классами и модулями

Также классы и модули используют разные области действия для своих членов. Члены, определенные внутри класса, относятся к определенному экземпляру класса и существуют только в то время, когда существует этот объект. Для обращения к членам класса из кода за пределами этого класса следует использовать полные имена в формате Объект.Член.

С другой стороны, все объявленные в модуле члены по умолчанию свободно используются из любого места в коде, откуда есть доступ к этому модулю. Это означает, что переменные стандартного модуля являются фактически глобальными переменными. Они видимы из любой точки проекта и существуют в течение всего времени жизни программы.

Повторное использование классов и объектов

Объекты позволяют один раз объявить переменную или процедуру, а затем использовать ее везде, где потребуется. Например, если в приложении вам нужно средство проверки орфографии, то для него потребуется определить все необходимые переменные и служебные функции. Создав специальный класс для средства проверки орфографии, вы сможете использовать его снова в других приложениях, просто добавив ссылку на скомпилированную сборку. Более того, вы можете сэкономить время и силы, взяв готовый класс проверки орфографии, созданный ранее кем-то другим.

.NET предоставляет множество примеров компонентов, доступных для использования. В следующем примере используется класс TimeZone в пространстве имен System. Члены класса TimeZone позволяют получить сведения о часовом поясе, выбранном на компьютере.

В предыдущем примере первый оператор Dim объявляет переменную объекта типа TimeZone и присваивает ей объект TimeZone, который возвращается свойством CurrentTimeZone.

Отношения между объектами

Между объектами могут существовать связи нескольких видов. В первую очередь эти связи подразделяются на иерархию и вложенность.

Иерархические связи

Если классы являются производным от других, более фундаментальных классов, такие отношения именуются иерархической связью. Иерархии классов удобны при описании объектов, являющихся подтипами более общих классов.

Для следующего примера предположим, что нам нужен особый вид объекта Button, который действует как обычная кнопка Button, но в дополнение имеет метод, меняющий местами цвет фона и цвет переднего плана.

Определить класс, производный от уже существующего класса

С помощью инструкции Class определите класс, из которого вы будете создавать нужный объект.

Сразу за инструкцией Class создайте инструкцию Inherits. Укажите класс, производным от которого будет этот новый класс.

Новый класс наследует все члены, определенные в базовом классе.

Производные классы наследуют члены класса, на котором они основаны, что позволяет постепенно повышать сложность при продвижении по иерархии классов. Дополнительные сведения см. в статье Inheritance Basics (Visual Basic) (Основная информация о наследовании в Visual Basic).

Компиляция кода

Убедитесь, что компилятор сможет получить доступ к классу, на основе которого вы намерены создать новый класс. Возможно, для этого придется указать его полное имя, как в предыдущем примере, или определить его пространства имен в операторе Imports. Если класс находится в другом проекте, может потребоваться ссылка на этот проект. Дополнительные сведения см. в статье Управление ссылками в проекте.

Отношение вложения

Также объекты могут быть связаны отношением вложения. Объекты-контейнеры на логическом уровне содержат в себе другие объекты. Например, объект OperatingSystem логически содержит объект Version, который он возвращает с помощью свойства Version. Важно понимать, что физически объект-контейнер не содержит в себе других объектов.

Коллекции

Связанные темы

Основы наследования
Описание модификаторов наследования, переопределения методов и свойств, MyClass и MyBase.

Анонимные типы
Описание создания и использования анонимных типов, которые позволяют создавать объекты без определения класса для типа данных.

Инициализаторы объектов: именованные и анонимные типы
Описание инициализаторов объектов, которые позволяют создавать экземпляры именованных и анонимных типов с помощью одного выражения.

Как вывести имена и типы свойств в объявлениях анонимного типа
Обсуждение имен свойств и типов в контексте объявлений анонимных типов. Содержит примеры успешного и неуспешного вывода.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *