1. Предимства на ООП
а) Позволява моделиране на реални обекти от света
б) Много хора работят съвместно по 1 проект
в) По-лесна разработка и поддръжка на проект
2. Клас
а) определение – съвкупност от променливи и методи. Служи за представяне на реални обекти от света.
б) атрибути (свойства) на клас (Properties) – вместо променливи
в) методи на клас (Methods) – описват поведението на класа
Public Class MyCar
Dim modelValue As String
Dim controlValue As Object
Dim speed As Integer
Public Sub PrintInfo(ByVal cnt As Object)
cnt.text = “Model: ” & Model & vbCrLf
cnt.text &= “Speed: ” & Me.speed & vbCrLf
End Sub
End Class
3. Обект
а) Определение – конкретни представители на даден клас
Dim car as New MyCar()
4. Конструктор на клас
Използва се при всяко създаване на обект на класа
Public Sub New()
Me.Model = “Default Car”
End Sub
Пример: Искаме да създадем клас кола MyCar, който има като характеристики (атрибути) име, контрола, която го изобразява (PictureBox1 / PictureBox2 и тн.) и скорост. Добавяме конструктор, метод за отпечатване на информация за класа PrintIntfo() и методи за движение наляво и надолу.
Public Class MyCar
Dim modelValue As String
Dim controlValue As Object
Dim speed As Integer
Public Sub PrintInfo(ByVal cnt As Object)
cnt.text = “Model: ” & Model & vbCrLf
cnt.text &= “Speed: ” & Me.speed & vbCrLf
End Sub
Public Sub MoveLeft(ByVal min As Integer)
If Control.left – Me.speed > min Then
Control.left -= speed
Else
MsgBox(“Cannot move left less than” & min)
End If
End Sub
Public Sub MoveDown(ByVal max As Integer)
If Control.top + Me.speed < max Then
Control.top += Me.speed
Else
MsgBox(“Cannot move down more than” & max)
End If
End Sub
Public Property Model() As String
Get
Return Me.modelValue
End Get
Set(ByVal value As String)
Me.modelValue = value
End Set
End Property
Public Property Control()
Get
Return Me.controlValue
End Get
Set(ByVal value)
Me.controlValue = value
End Set
End Property
Public Sub New(ByVal cnt As Object, ByVal name As String)
Me.Control = cnt
Me.Model = name
End Sub
Public Sub New()
Me.Model = “Default car”
End Sub
End Class
Използване на класа в програма – чрез обекти:
Dim car As New MyCar()
Dim car2 As New MyCar()
car.Control = PictureBox1
car.Model = “Red Car”
car.PrintInfo(Label1)
car.MoveDown(200)