Nao entendi bem o que a questa quer.[RESOLVIDO]

1 resposta
psyhclo

Seria perfeitamente que a classe abaixo represente a data/hora internamente com o numero de segundos a partir da meia noite em vez dos tres valores inteiros hour, minute, second. Os clientes poderiam utilizar os mesmo metodos public e obter os mesmos resultados. Modifique a classe abaixo para implmentá-la como o numero de segundos desde a meia noite e mostrar que nao ha alteração visivel para os clientes da classe.

Essa e uma questao do livro do deitel, so que eu nao entendi os que a questao quer dizer. O que seria esse cliente. Vlw.

public class Time2 {
    private int hour;
    private int minute;
    private int second;

    public Time2(){
        this(0,0,0);
    }
    public Time2(int h){
        this(h,0,0);
    }
    public Time2(int h, int m){
        this(h,m,0);
    }
    public Time2(int h, int m, int s){
        setTime(h, m, s);
    }
    public Time2(Time2 time){
        this(time.getHour(), time.getMinute(), time.getSecond());
    }

    public void setTime(int h, int m, int s){
        setHour(h);
        setMinute(m);
        setSecond(s);
    }
    public void setHour(int h){
        hour = ((h >= 0 && h < 24) ? h :0);
    }
    public void setMinute(int m){
        minute = ((m >= 0 && m < 60) ? m : 0);
    }
    public void setSecond(int s){
        second = ((s >= 0 && s < 60) ? s : 0);
    }
   public int getHour(){
        return hour;
    }
   public int getMinute(){
    return minute;
   }
   public int getSecond(){
    return second;
   }

   public String toUniversalString(){

       return String.format("%02d:%02d:%02d", this.getHour(), this.getMinute(), this.getSecond());
   }
   public String toString(){

       return String.format("%d:%02d:%02d %s",((getHour() == 0 || getHour() == 12) ? 12 : getHour() % 12), getMinute(), getSecond(), (getHour() < 12 ? "AM" : "PM"));
   }
}

1 Resposta

rodrigo.bossini

Um cliente desta classe seria qualquer outra classe que você ou outro programador escreva e que utilize instâncias e/ou métodos desta classe.

Tomando a api padrão do java como exemplo, se você escrever um programa que utiliza a classe, digamos, ArrayList, então a classe que você escreve que utiliza ArrayList é dita cliente da classe ArrayList.

O exercício quer que o estudante entenda que os detalhes de implementação internos de uma classe não devem afetar os clientes dela.

Criado 17 de fevereiro de 2010
Ultima resposta 17 de fev. de 2010
Respostas 1
Participantes 2