1.1 - Classe Relogio.java

Observe ainda que, para implementar a relação de composição, faz-se necessário seguir, obrigatoriamente, duas regras:

  1. Declarar atributos (tipos abstratos) privados sem expô-los sob nenhuma hipótese;
  2. Inicializar os objetos, cujas referências são os atributos privados do item anterior, de modo que o tempo de vida destas instâncias internas esteja, obrigatoriamente, determinado pelo tempo de vida dos objetos da classe Relogio.
 
            package br.aiec;

/**
 * 
 * A referida classe esabelece um relação de composição com as classe Data e com a 
 * interface ITempo (ou Tempo ou NovoTempo). 
 * 
 * 
 *
 */
public class Relogio {
    private Data data;
    private ITempo tempo;
    
    
    public Relogio(Data data, ITempo tempo) {
        this.data = new Data(data);
        this.tempo = new Tempo(tempo);
    }
    
    /**
         * O método tictac simula o tictac do relógio que a cada percurso incrementa o valor 
     * do tempo em 1 segundo.
         */
    public void tictac(){
                
        if(tempo.ehUltimoSegundoDoTempo()){
            data.incrementaDia();
        }

        tempo.incrementaSegundo(1);
    }
    
    @Override
    public String toString() {
        return data + " " + tempo;
    }
}

        
Copyright © 2016 AIEC.