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:
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();
}
}
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.");
}
}
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 :D
Se puderem me ajudar, me disser qual o melhor a usar, se tem como deixar mais flexível, mais simples, eu ficaria grato demais :P
Agradeço desde já a atenção de vocês, até mais!

