Olá pessoal, gostaria que alguem me explicasse os codigos instanceof, e o cast ((Citadino)carro).ligarManual(), abaixo no codigo
aqui é um exemplo de polimorfismo, com quatro classes, uma para carro, outra Citadino, Familiar, Jipe. Todo o codigo eu entendi só não entendi as funções dos codigos acima.
import java.util.Scanner;
public class Carroo {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("Digite o tipo de carro: ");
String tipoCarro =s.nextLine();
Carro carro;
if(tipoCarro.equals("citadino")){
carro = new Citadino();
}
else if(tipoCarro.equals("familiar")){
carro = new Familiar();
}
else if(tipoCarro.equals("jipe")){
carro = new Jipe();
}
else {
carro = new Carro();
carro.buzinar();
}
if (carro instanceof Citadino)
((Citadino)carro).ligarManual();
else if (carro instanceof Familiar)
((Familiar)carro).alarme();
else if (carro instanceof Jipe)
((Jipe)carro).tração4x4();
}
}
grato!!!