ООП – основи

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)

 

Comments are closed.