Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Программирование классов в среде Visual Basic.Net



Программирование классов в среде 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 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
 | Оригінал (видається покупцю)

mybiblioteka.su - 2015-2024 год. (0.019 сек.)