Ciao sto volgendo un esercizio sulle classi astratte e sul polimorfismo...e mi sono chiesto.,..se una superclasse è stratta(quoindi non posso istanziarla)...come possono le sottoclassi essere assegante alla superclasse? Cioè se ho il seguente codice:
codice:abstract class Animali{ String tipo; String nome; Animali(String tipo,String nome){ this.tipo=tipo; this.nome= nome; } public String getNome(){ return nome; } public String getTipo(){ return tipo; } }codice:class Mammifero extends Animali{ Animali a; Mammifero(String tipo){ super(tipo,null); } //assegno ad Animali il Gatto public void setAssegno(Gatto g){ a=g; } }In pratica la gerarchia è:codice:class Gatto extends Animali{ Gatto(String nome){ super(null,nome); } }
Nella classe setAssegno(Gatto g) è giusto assegare in questo modo la classe gatto ad animali(che è abstract)?codice:Animali(abstract) | | | | Mammifero Gatto![]()

Rispondi quotando
