|
Программирование классов в среде Visual Basic.Net
Класс Shape (ФОРМА)
Public MustInherit Class Shape абстрактный класс
Public MustOverride Function Area() as Double 'полиморфизм
Public MustOverride Function Perimetr() as Double 'полиморфизм
End Class
Класс Triangle(Треугольник)
Public Class Triangle
Inherits Shape 'наследование
Private _a1,_a2,_a3 as Double 'внутренние поля класса(инкапсуляция)
Конструктор класса
Sub New(ByVal a1 as Double, ByVal a2 As Double, ByVal a3 Double)
MyBase.New() 'наследование
_a1=a1
_a2=a2
_a3=a3
End Sub
Конструктор класса без параметров
Sub New()
MyBase.New()
End Sub
Свойства класса
Property a1() as Double
Get
а1=_a1 получить значение внутреннего поля (инкапсуляция)
End Get
Set(ByVal Value as Double)
if Value isNumeric and Value>=0 then
_a1=Value присвоить значение внутреннему полю (инкапсуляция)
else
Throw New Exception("Enter Number>0")
Exit Property
End If
End Set
End Property
Property a2() asDouble
Get
a2=_a2
End Get
Set(ByVal Value as Double)
_a2=Value
End Set
End Property
Property a3() as Double
Get
a3=_a3
End Get
Set a3(ByVal Value as Double)
_a3=Value
End Set
End Property
Методы класса
Pulic Overrides Function Perimetr as Double
Return(_a1+_a2+_a3)
End Function
Public Overrides Function Area() as Double
Dim a,P as Double
P=Perimetr()
a=Math.Sqrt(P*(P-_a1)*(P-_a2)*(P-_a3))
Return a
End Function
End Class
Класс Circle (Круг)
Public Class Circle
Inherits Shape
Private _r as Double
Конструктор класса
Sub New(ByVal r as Double)
MyBase.New()
_r=r
End Sub
Sub New()
MyBase.New()
End Sub
Public Property r() as Double
Get
r=_r
End Get
Set(ByVal Value as Double)
_r=Value
End Set
End Property
Public Overrides Function Area() as Double
Return (Math.Pi*_r^2)
End Function
Public Overrides Function Perimetr() as Double
Return ((Math.Pi*2*_r)
End Function
End Class
Класс Squre (Прямоугольник)
Public Class Rect
Inherits Shape
Private _a,_b as Double
Конструктор класса
Sub New(ByVal a as Double, ByVal b as Double)
MyBase.New()
_a=a
_b=b
End Sub
Sub New()
MyBase.New()
End Sub
Public Property a() as Double
Get
a=_a
End Get
Set(ByVal Value as Double)
_a=Value
End Set
End Property
Public Property b() as Double
Get
b=_b
End Get
Set(ByVal Value as Double)
_b=Value
End Set
End Property
Public Overrides Function Area() as Double
Return (_a*_b)
End Function
Public Overrides Function Perimetr() as Double
Return 2*(_a+_b)
End Function
End Class
Реализация классов – модуль ФОРМЫ
Dim Shape1 as Shape –нельзя создвать объект абстрактного класса
Dim Tr1 as new Triangle, Tr2 as new Triangle, Rec1 as new Rect, Circ1 as new Circle
Dim ar1, per1 as Double
Tr1.a1=100
Tr1.a2=100
Tr1.a3=100 установить значения через свойства
Tr2.a1=Tr1.a1
Tr2.a2=Tr1.a2
Tr2.a3=Tr1.a3 получить значения и установить значения
ar1=Tr1.area
per1=Tr1.perimetr
Console.WriteLine("площадь треуг=" & Tr1.a1.toString)- используем метод базового класса
методы всех классов
Equals
GetHashCode
GetType
ToString
=======================
Модульное программирование
Public Function PerimOfTriangle(a1 as Double, a2 as Double, a3 as Double) as Double
PerimOfTriangle =a1+a2+a3
Return PerimOfTriangle
End Function
Public Function AreaOfTriangle(a1 as Double, a2 as Double, a3 as Double) as Double
Dim p as Double
p= PerimOfTriangle(a1,a2,a3)
Return (Math.Sqrt (p*(p-a1)*(p-a2)*(p-a3))
End Function
Public Function AreaOfRect(a1 as Double, a2 as Double) as Double
Return (a1*a2)
End Function
Public Function PerimOfRect(a1 as Double, a2 as Double) as Double
Return 2*(a1+a2)
End Function
Public Function AreaOfCircle(r as Double) as Double
Return (Math.Pi*r^2)
End Function
Public Function PerimOfCircle(r as Double) as Double
Return 2*(Math.Pi*r)
End Function
Реализация функций модуль ФОРМЫ
Dim ar1, per1 as Double
Dim ar2,per2 as Double
Dim a1, a2, a3, r as Double
a1=100: a2=100: a3=100
r=100
ar1= AreaOfTriangle(a1,a2,a3)
per1= PerimOfTriangle(a1,a2,a3)
ar2= AreaOfCircle(r)
per2=PerimOfCircle(r)
Console.WriteLine("площадь треуг=" & CStr(AreaOfTriangle)
Дата добавления: 2015-11-04; просмотров: 21 | Нарушение авторских прав
<== предыдущая лекция | | | следующая лекция ==> |
| | Оригінал (видається покупцю) |