Иллюстрированный самоучитель по VB.NET



На сайте http://www.магазин-бильярда.рф бильярдный стол цена. | Тв онлайн для взрослых, tv. |

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


Определение структуры начинается с модификатора уровня доступа и ключевого слова Structure:

Public Structure NameOfStructure

' Код структуры End Structure

Для каждого члена структуры должен быть указан модификатор доступа (например, Public или Private). Поля, объявленные с ключевым словом Dim вне процедур и функций, считаются открытыми. Ниже приведен простейший вариант структуры для работы с комплексными числами:

Public Structure ComplexNumber

Private m_real As Double

Private m_complex As Double

Public Property real () As Double Get

Return m_real

End Get Set(ByVal Value As Double)

m_real = Value

End Set

End Property

Public Property complex()As Double Get

Return m_complex End Get Set(ByVal Value As Double)

m_complex = Value

End Set

End Property

Public Sub New(ByVal x As Double. ByVal у As Double)

real = x complex = у

End Sub

Public Function Add(ByVal zl As ComplexNumber) As ComplexNumber

Dim z As ComplexNumber

z.real = Me.real + zl.real

Z.complex = Me.complex + zl.complex

Return z End Function

' И т.д. End Structure

Обратите внимание на возвращение структуры функцией Add. Кстати, поля структур не могут инициализироваться при объявлении:

Private m_real As Double = 0 ' Ошибка

Между структурами и ссылочными объектами существует еще одно принципиальное различие: использование открытых полей вместо свойств Get-Set в структурах широко распространено и не считается проявлением плохого стиля программирования, как для объектов. Это связано с тем, что поля экземпляров обычно относятся к базовым типам. Например, переопределение приведенной выше структуры ComplexNumber с открытыми полями Real и Imaginary не вызовет особых проблем.

Структуры создаются вызовом New или при присваивании значений их полям. Обращения к полям структур осуществляются так же, как и обращения к свойствам объектов. Ниже приведен пример использования структуры Compl exNumber:

Sub Main()

Dim Z1 As New ComplexNumber(2.3. 2.4)

Dim Z2.Z3 As ComplexNumber




Содержание  Назад  Вперед