Primer 15b: Klasni modul (definicija klase) Titl
Option Explicit
'Klasni modul Titl

'Svojstva objekta. Private znaci da nisu dostupna drugim objektima
Private m_vPocetak As Vreme
Private m_vKraj As Vreme
Private m_sPrevod As String

'Konstruktor - dodeljuje vrednosti svojstvima objekta (inicijalizuje ih)
Public Sub init(sPocetak As String, sKraj As String, sPrevod As String)
    'donja granica vremenskog intervala
    Set m_vPocetak = New Vreme
    m_vPocetak.init sPocetak
    'gornja granica vremenskog intervala
    Set m_vKraj = New Vreme
    m_vKraj.init sKraj
    'tekst prevoda
    m_sPrevod = sPrevod
End Sub
'Konstruktor2 - dodeljuje vrednosti svojstvima objekta (inicijalizuje ih)
Public Sub init2(vPocetak As Vreme, vKraj As Vreme, sPrevod As String)
    'donja granica vremenskog intervala
    Set m_vPocetak = vPocetak
    'gornja granica vremenskog intervala
    Set m_vKraj = vKraj
    'tekst prevoda
    m_sPrevod = sPrevod
End Sub


'Azuriranje vremenskih granica prevoda za pozitivan ili negativan pomeraj
'u formatu "+00:01:05" ili "-00:02:34"
Public Sub azuriraj(ByVal sKasnjenje As String)
    Dim sZnak As String
    Dim vKasnjenje As New Vreme

    sZnak = Left(sKasnjenje, 1) ' + ili -
    
    'odbacujemo znak, dodajemo milisekunde i kreiramo odgovarajuci objekat klase Vreme
    sKasnjenje = Mid(sKasnjenje, 2) & ",000"
    vKasnjenje.init sKasnjenje
    
    'negativni pomeraj zahteva da drugi sabirak bude negativan
    If sZnak = "-" Then
        Set vKasnjenje = vKasnjenje.promenaZnaka()
    End If
    'azuriranje donje i gornje vremenske granice
    Set m_vPocetak = vKasnjenje.zbir(m_vPocetak, vKasnjenje)
    Set m_vKraj = vKasnjenje.zbir(m_vKraj, vKasnjenje)
End Sub

'Na osnovu vrednosti donje i gornje granice vremenskog intervala i teksta prevoda
'generise se niska koja predstavlja prevod. Npr:
'00:03:06 --> 00:03:09
'The End
Public Function formatiraj() As String
    formatiraj = m_vPocetak.formatiraj & " --> " & m_vKraj.formatiraj & vbNewLine
    formatiraj = formatiraj & m_sPrevod
End Function

'Na osnovu vrednosti donje i gornje granice vremenskog intervala
'generise se niska koja predstavlja vremenski interval
'00:03:06 --> 00:03:09

Public Function formatirajVreme() As String
    formatirajVreme = m_vPocetak.formatiraj & " --> " & m_vKraj.formatiraj & vbNewLine
End Function