/* Esta classe faz parte do pacote DataHora */ package DataHora; /** * A classe DataHora reutiliza as classes Data e Hora atrav�s de delega��o. * A data e hora s�o representadas por inst�ncias das respectivas classes que est�o * embutidas na classe DataHora. Como as classes Data e Hora fazem parte do mesmo * pacote e seus membros foram declarados sem modificadores de acesso, poder�o ser * acessados diretamente nesta classe. */ public class DataHora // declara��o da classe { // Declara��o dos campos da classe. /** * Este campo � uma inst�ncia da classe Data e representa o dia, m�s e ano */ Data estaData; /** * Este campo � uma inst�ncia da classe Hora e representa a hora, minuto e segundo */ Hora estaHora; /** * O construtor para a classe DataHora, que recebe argumentos para inicializar * todos os campos que esta classe indiretamente cont�m, e chama os construtores * das classes Data e Hora para inicializar os campos das inst�ncias destas classes. * Note que o construtor � declarado como sendo p�blico, caso contr�rio ele n�o * poder� ser chamado de fora do pacote ! * @param h a hora * @param min o minuto * @param s o segundo * @param d o dia * @param m o m�s * @param a o ano */ public DataHora(byte h,byte min,byte s,byte d,byte m,short a) { estaData = new Data(d,m,a); estaHora = new Hora(h,min,s); } /** * O m�todo toString n�o recebe argumentos, e retorna uma string contendo os valores * dos campos da classe formatados. Os campos das inst�ncias das classes Data e Hora * podem ser acessados diretamente, j� que foram declarados sem modificadores nas * classes, e esta classe pertence ao mesmo pacote. Para demonstrar esta * possibilidade, este m�todo acessa diretamente os campos das classes Data e Hora. * @return uma string com os valores dos campos formatados. */ public String toString() { String resultado = estaHora.hora+":"+estaHora.minuto+":"+estaHora.segundo; resultado += " de "+estaData.dia; resultado += " de "; switch(estaData.m�s) // dependendo do valor do campo m�s, concatena o nome do m�s { case 1: resultado += "Janeiro"; break; case 2: resultado += "Fevereiro"; break; case 3: resultado += "Mar�o"; break; case 4: resultado += "Abril"; break; case 5: resultado += "Maio"; break; case 6: resultado += "Junho"; break; case 7: resultado += "Julho"; break; case 8: resultado += "Agosto"; break; case 9: resultado += "Setembro"; break; case 10: resultado += "Outubro"; break; case 11: resultado += "Novembro"; break; case 12: resultado += "Dezembro"; break; } resultado += " de "+estaData.ano; return resultado; } } // fim da classe DataHora