Olá galera!
Como esse é meu primeiro post eu vou aproveitar pra me apresentar, meu nome é Luke, venho a algum tempo me interessando por linguagens de programação, mas nunca tive oportunidades/motivações para começar a estudar. Umas semanas atras eu comecei a estudar java por motivação da minha namorada que é formada em TI.
Como todo mundo que está aprendendo alguma coisa nova, sempre surgem dúvidas, e a minha vem a seguir.
A dúvida
Bom, eu estava estudando herança, aprendi bem, até que comecei a estudar interfaces e isso meio que me confundiu bastante na hora de usar, quais as vantagens e desvantagens e eu queria ver se vocês podiam me ajudar.
As opções
Bom, eu fiz um código bem simples, uma com a herança e outra com a interface respectivamente, as duas com o mesmo objetivo.
Os códigos
Então, primeiro o código com herança com o intuito de imprimir o tipo e o modelo do veículo:
[code]public class Veiculo {
protected String tipo;
protected String modelo;
public String getTipo() {
System.out.println("Tipo " + tipo);
return tipo;
}
public String getModelo() {
System.out.println("Modelo " + modelo);
return modelo;
}
}
public class Carro extends Veiculo {
public void setTipo(String tipo) {
this.tipo = tipo;
}
public void setModelo(String modelo) {
this.modelo = modelo;
}
}
public class Teste {
public static void main(String[] args) {
Carro carro = new Carro();
carro.setTipo("Carro.");
carro.setModelo("Sedan 2010.");
carro.getTipo();
carro.getModelo();
}
}
[/code]
Agora o código com interface, seguindo o mesmo intuito de imprimir o tipo e o modelo do veículo:
[code]public interface Veiculo {
public String getTipo(String tipo);
public String getModelo(String modelo);
}
public class Carro implements Veiculo {
public String tipo;
public String modelo;
public String getTipo(String tipo) {
System.out.println("Tipo " + tipo);
return tipo;
}
public String getModelo(String modelo) {
System.out.println("Modelo " + modelo);
return modelo;
}
}
public class Teste {
public static void main(String[] args) {
Veiculo carro = new Carro();
carro.getTipo("Carro.");
carro.getModelo("Sedan 2010.");
}
}
[/code]
Como aprendi recentemente, não sei muito bem se está certo ou errado, se poderia estar mais simples ou complexo. Por favor sejam pacientes pois sou novato
Se puderem me ajudar, me disser qual o melhor a usar, se tem como deixar mais flexível, mais simples, eu ficaria grato demais
Agradeço desde já a atenção de vocês, até mais!