Documente Academic
Documente Profesional
Documente Cultură
Clase Cu Atribute Multivaloare Si Sursa
Clase Cu Atribute Multivaloare Si Sursa
Unde:
-clasele LinieFactura i Factura sunt clase concrete
-atributele m_DenumireProdus, m_Numar, m_Emitent i m_Tert sun de tip
String (Private)
-atributele m_Cantitate, m_Pret, m_CotaTva sunt de tip Single (Private)
-atributul m_Data este de tipul Date (Private)
-atributul colLiniiFactura este de tipul LinieFactura (Public)
Pentru atribitele Private: m_DenumireProdus, m_Numar, m_Emitent,
m_Tert, m_Cantitate, m_Pret, m_CotaTva i m_Data vor fi definite
proprietile Public: denumireProdus, numar, emitent, tert, cantitate, pret,
cotaTva i data cu urmtoarele restricii de integritate: cotaTva poate lua
valorile: 0, 0.09 sau 0.24
Cerine:
m_CotaTva = -1
MessageBox.Show("Cota diferita de 0,24, 0,09 sau 0")
End If
End Set
End Property
' Definire metode
Public Function CalculValLinie() As Decimal
Return Cantitate * Pret
End Function
Public Function CalculTvaLinie() As Decimal
Return CalculTvaLinie() * CotaTva
End Function
Public Function TotalLinie() As Decimal
Return CalculTvaLinie() + CalculTvaLinie()
End Function
End Class
' Definirea clasei Factura
Public Class Factura
'Definire atribute private individuale
Private m_NumarFactura As String
Private m_DataFactura As Date
Private m_EmitentFactura As String
Private m_TertFactura As String
' definire atribut multiplu (colectie)
Public colLiniiFactura As ArrayList
'Definire proprietati
Public Property NumarFactura As String
Get
NumarFactura = m_NumarFactura
End Get
Set(ByVal value As String)
If value <> "" Then
m_NumarFactura = value
Else
MessageBox.Show("Numar factura eronat")
m_NumarFactura = -1
End If
End Set
End Property
'Definire metode
Public Function CalculValoareFactura() As Decimal
CalculValoareFactura = 0
For Each a As LinieFactura In colLiniiFactura
CalculValoareFactura = CalculValoareFactura + a.CalculValLinie
Next
Return CalculValoareFactura
End Function
Public Function CalculTvaFactura() As Decimal
Dim wCalculTvaFactura As Decimal
wCalculTvaFactura = 0
For Each b As LinieFactura In colLiniiFactura
wCalculTvaFactura = wCalculTvaFactura + b.CalculTvaLinie
Next
Return wCalculTvaFactura
End Function
Public Function CalculTotalFactura() As Decimal
Return CalculValoareFactura() + CalculTvaFactura()
End Function
End Class