I do not understand why the variable descricao
is not producing the values. In this case, it should look like this:
Carregador antigo conectando a tomada de conector de dois pinos
But it's coming out:
Carregador antigo conectando a tomada de NULL
The class TomadaDeDoisPinos
follows:
package Adapter;
public class TomadaDeDoisPinos implements TomadaDeDoisPinosIF{
@Override
public void conectar(ConectorDeDoisPinos conector) {
System.out.println(conector.getDescricao());
}
}
The class ConectorDeDoisPinos
follows:
package Adapter;
public class ConectorDeDoisPinos {
protected String descricao;
public String getDescricao(){
this.descricao =" conector de dois pinos.";
return this.descricao;
}
}
The class CarregadorAntigo
follows:
package Adapter;
public class CarregadorAntigo extends ConectorDeDoisPinos{
public String getDescricao(){
return "Carregador antigo conectando a tomada de "+descricao;
}
}
Follow the TomadaDeDoisPinosIF
interface:
package Adapter;
public interface TomadaDeDoisPinosIF {
public void conectar(ConectorDeDoisPinos conector);
}
The class of Teste
follows:
package Adapter;
public class Teste {
public static void main(String[] args) {
ConectorDeDoisPinos cAntigo = new CarregadorAntigo();
TomadaDeDoisPinos tomadaDeDoisPinos = new TomadaDeDoisPinos();
tomadaDeDoisPinos.conectar(cAntigo);
}
}