Eu estou tentando melhorar o relacionamento entre as minhas classes mas não estou tendo muito sucesso. Vou exemplificar nesse exemplo. Digamos que eu tenha essa interface:
public interface InterfaceMensagem {
public void enviarText();
}
A classe SmsServico implementa a interface.
public class SmsServico implements InterfaceMensagem{
String data;
String nome;
@Override
public void enviarText() {
//implementação
System.out.print("enviando texto pelo sms");
}
}
Agora, eu fiz a associação entre as classes passando a interface como parâmetro do construtor mas não consigo acessar os atributos data e nome da classe SmsServico. existe alguma maneira de conseguir esse acoplamento baixo utilizando interfaces em contextos semelhantes a esse e ainda conseguir acessar os atributos?
public class Aplicacao {
public Aplicacao(InterfaceMensagem msm){
msm.enviarText();
// não consegue acessar os atributos da classe SmsServico:
msm.data;
msm.nome;
}
}