1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
| Public MustInherit Class Usinage
Private X, Y As Double
Friend Sub New(ByVal posX As Double, ByVal posY As Double)
X = posX
Y = posY
End Sub
Public ReadOnly Property Nom As String
Get
Return Me.GetType.Name
End Get
End Property
Public Overridable Function CalculerCout(Optional ByVal quantite As Integer = 1) As Double
Return (X + Y) * quantite
End Function
End Class
Public Class UPercage
Inherits Usinage
Private Diam As Double
Friend Sub New(ByVal posX As Double, ByVal posY As Double, ByVal tailleD As Double)
MyBase.New(posX, posY)
Diam = tailleD
End Sub
Public Overrides Function CalculerCout(Optional ByVal quantite As Integer = 1) As Double
Dim coutBase As Double = MyBase.CalculerCout(quantite)
Return coutBase + Diam * quantite
End Function
End Class
Public Class UPercageF
Inherits UPercage
Private DiamF As Double
Private FaceAvant As Boolean
Friend Sub New(ByVal posX As Double, ByVal posY As Double, ByVal tailleD As Double, ByVal tailleDF As Double, ByVal faceAV As Boolean)
MyBase.New(posX, posY, tailleD)
DiamF = tailleDF
FaceAvant = faceAV
End Sub
Public Overrides Function CalculerCout(Optional ByVal quantite As Integer = 1) As Double
Dim coutBase As Double = MyBase.CalculerCout(quantite)
Return coutBase + (DiamF + If(FaceAvant, 10, 0)) * quantite
End Function
End Class
Public Class URectangle
Inherits Usinage
Protected TX, TY As Double
Friend Sub New(ByVal posX As Double, ByVal posY As Double, ByVal tailleX As Double, ByVal tailleY As Double)
MyBase.New(posX, posY)
TX = tailleX
TY = tailleY
End Sub
Public Overrides Function CalculerCout(Optional ByVal quantite As Integer = 1) As Double
Dim coutBase As Double = MyBase.CalculerCout(quantite)
Return coutBase + (TX + TY) * quantite
End Function
End Class |
Partager