Превратим переменную Длина из поля
Превратим переменную Длина из поля в модульную переменную, защитив тем самым от воздействия извне:
Private Длина As Integer
Затем создадим свойство Длина_участка:
Public Property Длина_участка() As Integer
Get
Return Длина
End Get
Set(ByVal Value As Integer)
If Value < 500 Then
Длина = Value
Else
MsgBox("Слишком длинный участок")
Длина = 0
End If
End Set
End Property
Мы предоставляем возможность каждому извне узнавать без ограничений значение свойства, поэтому часть Get – End Get у нас заполняется стандартно.
Поговорим о части Set – End Set. Внутренним неприкасаемым хранителем значения длины в нашем классе является модульная переменная Длина. Свойство Длина_участка придумано только для того, чтобы показывать вовне значение этой переменной и по-возможности безопасным и контролируемым образом разрешать извне это значение менять. Часть Set – End Set поэтому имеет своей конечной целью присвоение переменной Длина нужного значения.
Если часть Get – End Get – это функция, то часть Set – End Set – это процедура. Причем с параметром
Value. Каждый раз, когда кто-то пытается извне присвоить свойству Длина_участка какое-нибудь значение, это значение приходит в объект-участок в качестве значения параметра Value свойства Длина_участка. Остается только написать в части Set – End Set единственный оператор
Длина = Value
И если бы он остался единственным, то в этом случае мы получили бы свойство для чтения-записи безо всяких ограничений. Но тогда не стоило и огород городить. Ведь поле Длина обеспечивало то же самое. Однако мы помнили о нашем запрете на длинные участки и поэтому часть Set – End Set сделали подлиннее. Теперь каждый, желающий из текстового поля задать длину участка равную 500 и выше, столкнется с сообщением "Слишком длинный участок" и вынужден будет вводить данные вновь.
Обратите внимание, что классу совершенно все равно,
что
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий