Академический Документы
Профессиональный Документы
Культура Документы
Interface
- um tipo de classe Java que:
- Contm operaes e no mtodos
- No precisa dizer como so feitas as operaes.
- Diz apenas que as operaes existem que elas retornam determinado tipo de
dados e que requerem certos parmetros.
Exemplo: Interface
publicinterfaceITreinamento{
publicStringiniciarTreinamento();
}
publicStringfinalizarTreinamento(){
return"TerminoTreinamento";
}
}
publicclassTesteInterface{
publicstaticvoidmain(String[]args){
Treinamentotreinamento=newTreinamento();
ITreinamentotreinamento2=newTreinamento();
System.out.println("Treinamento(Classe):"+
treinamento.iniciarTreinamento());
System.out.println("Treinamento(Classe):"+
treinamento.finalizarTreinamento());
System.out.println("Treinamento(Interface):"+
treinamento2.iniciarTreinamento());
}
}
publicclassTesteInterfaceImplClassesDiferentes{
publicstaticvoidmain(String[]args){
ITreinamentotreinamento=newTreinamento();
ITreinamentotreinamento2=newTreinamento2();
System.out.println("Treinamento:"+
treinamento.iniciarTreinamento());
System.out.println("Treinamento2:"+
treinamento2.iniciarTreinamento());
}
}
Exerccio:
- Implementar uma Interface chamada IVeiculo com as seguintes operaes:
publicStringacelerar();
publicStringbrecar();
- Implementar uma classe chamada Veiculo que implementa essa interface IVeiculo e
que tenha dois mtodos adicionais (ligar e desligar):
publicStringacelerar(){
returnnewString("Acelerando...");
}
publicStringbrecar(){
returnnewString("...Brecando");
}
publicStringligar(){
returnnewString("Ligado");
}
publicStringdesligar(){
returnnewString("Desligado");
}
- Implementar uma classe chamada Veiculo2 que implementa essa interface IVeiculo
diferenciando os mtodos atravs das Strings de retorno.
publicStringacelerar(){
returnnewString("Aumentandoavelocidade");
}
publicStringbrecar(){
returnnewString("Diminuindoavelocidade");
}
- Implementar uma classe para teste chamada TesteInterface que instancie e as duas
classes acima como sendo do tipo IVeiculo e que mostre o resultado dos mtodos
acelerar() e brecar().
IVeiculoveiculo=newVeiculo();
IVeiculoveiculo2=newVeiculo2();
System.out.println(veiculo.acelerar());
System.out.println(veiculo.brecar());
System.out.println(veiculo2.acelerar());
System.out.println(veiculo2.brecar());
publicinterfaceITreinamento{
publicStringiniciarTreinamento();
}
publicclassTreinamentoimplementsITreinamento{
publicStringiniciarTreinamento(){
return"InicioTreinamento";
}
}
publicclassTreinamento2implementsITreinamento{
publicStringiniciarTreinamento(){
return"HoradecomearoTreinamento";
}
}
publicclassTreinamentoParametro{
publicStringapresentaMensagem(ITreinamentotreinamento){
returntreinamento.iniciarTreinamento();
}
}
publicclassTesteInterfaceParametro{
publicstaticvoidmain(String[]args){
ITreinamentotreinamento=newTreinamento();
ITreinamentotreinamento2=newTreinamento2();
TreinamentoParametrotreinamentoParametro=new
TreinamentoParametro();
System.out.println("ApresentaMensagem:"+
treinamentoParametro.apresentaMensagem(treinamento));
System.out.println("ApresentaMensagem:"+
treinamentoParametro.apresentaMensagem(treinamento2));
}
}
Exerccio:
- Implementar uma interface chamada IVeiculo com as seguintes operaes:
publicStringacelerar();
publicStringbrecar();
- Implementar uma classe chamada Veiculo que implementa essa interface IVeiculo:
publicStringacelerar(){
returnnewString("Acelerando...");
}
publicStringbrecar(){
returnnewString("...Brecando");
}
- Implementar uma classe chamada Veiculo2 que implementa essa interface IVeiculo
publicStringacelerar(){
returnnewString("Aumentandoavelocidade");
}
publicStringbrecar(){
returnnewString("Diminuindoavelocidade");
}
publicStringmensagemBrecar(IVeiculoveiculo){
returnveiculo.brecar();
}
IVeiculoveiculo=newVeiculo();
IVeiculoveiculo2=newVeiculo2();
VeiculoParametroveiculoParametro=newVeiculoParametro();
System.out.println(veiculoParametro.mensagemAcelerar(veiculo));
System.out.println(veiculoParametro.mensagemBrecar(veiculo));
System.out.println(veiculoParametro.mensagemAcelerar(veiculo2));
System.out.println(veiculoParametro.mensagemBrecar(veiculo2));
}