Classe <tt>EstacaoServico</tt>



next up previous contents
Next: Classe ESView Up: Aplicações Interactivas em Smalltalk/V Previous: Classe Lavagem

Classe EstacaoServico

 

Object subclass: #EstacaoServico
  instanceVariableNames: 
    'lavagem alinhamento caixa '
  classVariableNames: ''
  poolDictionaries: ''   !

!EstacaoServico class methods ! !

!EstacaoServico methods !
   
caixa
        "caixa"
    ^caixa!
 
chegaCarro: aCar
        "dummy"
   aCar  testaDireccao
                ifFalse: [alinhamento chega: aCar]
                ifTrue: [aCar testaLimpeza
                                ifFalse: [lavagem chega: aCar]
                        ]!
   
getCaixa
        "valor em caixa"
    ^caixa caixa!
   
getCarInAlinhamento: ind
        "devolve o carro na posicao ind em alinhamento"
    ^alinhamento at: ind!

getCarInLavagem: ind
        "devolve o carro na posicao ind em lavagem"
    ^lavagem at: ind!

listAlinhamento
        "listar os carros em alinhamento"
    | lista |
    lista:= Queue new.
    alinhamento do: [:carro| lista enqueue: carro matricula].
    ^lista!
   
listLavagem
        "listar os carros em lavagem"
    | lista |
    lista:= Queue new.
    lavagem do: [:carro| lista enqueue: carro matricula].
    ^lista!
   
registaAlinhamento
        "regista a efectuacao de um alinhamento"
    alinhamento sai!
  
registaLavagem
        "regista a efectuacao de uma lavagem"
    lavagem sai!
 
registaPagamento
        "regista a efectuacao de um pagamento"
    caixa sai!

start
        "comecar"
    Alinhamento setPreco: 10.
    Lavagem setPreco: 20.
    alinhamento := Alinhamento new.
    caixa := Caixa new.
    lavagem := Lavagem new.
    self dependsOn: alinhamento; dependsOn: lavagem.!

update: aCar
        "re-inserir carro"
        aCar  testaDireccao
                ifFalse: [alinhamento chega: aCar]
                ifTrue: [aCar testaLimpeza
                               ifFalse: [lavagem chega: aCar]
                               ifTrue: [caixa chega: aCar]
                        ]! !



Jose Franscisco Creissac Campos
Wed Jan 31 12:57:29 MET 1996