Конструкторы - часть 2
В учебных целях чуть изменим код класса – сделаем ширину модульной переменной. Вот получившийся код класса:
Public Class Участок
Public Владелец As String
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
Private Ширина As Integer
Public Высота_забора As Integer
Public Shared Расход_краски_на_кв_м As Integer
Private Периметр As Integer
Public Номер_участка As Integer
Private Shared Число_созданных_объектов As Integer = 0
Public Sub New (ByVal Влад As String, ByVal Дл As Integer, ByVal Шир As Integer, ByVal Выс As Integer)
Владелец = Влад
Длина_участка = Дл
Ширина = Шир
Высота_забора = Выс
Число_созданных_объектов = Число_созданных_объектов + 1
Номер_участка = Число_созданных_объектов
End Sub
Private Sub Вычисляем_периметр()
Периметр = 2 * (Длина + Ширина)
End Sub
Private Function Площадь_забора() As Integer
Вычисляем_периметр()
Return Периметр * Высота_забора
End Function
Public Function Расход_краски() As Integer
Return Расход_краски_на_кв_м * Площадь_забора()
End Function
End Class
Для проверки работы конструктора нажмем на кнопку:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Участок.Расход_краски_на_кв_м = 3
Участки(1) = New Участок("Лиходеев", 5, 4, 2)
Debug.WriteLine(Участки(1).Расход_краски)
Участки(2) = New Участок("Берлага", 800, 5, 3)
Debug.WriteLine(Участки(2).Расход_краски)
End Sub