Problema com herança

7 respostas
Alexandre_Laranja

olá a todos,

estou trabalhando com duas classes, uma chama-se Item, e a outra CD.
CD deve herdar de Item o método getTitulo e GetDuracao, porem o NetBeans diz que não pode encontrar nem getTitulo nem GetDuracao...

o código dos dois estão ae:

package dome;

/**
 *
 * @author Alexandre Laranja de Souza
 */
public class Item {
    
    private String titulo;
    private int duracao;
    private boolean gotIt;
    private String comentario;
    
    /**
     * Cria uma nova instancia de Item
     */ 
    public Item(String titulo, int duracao) {
        this.titulo = titulo;
        this.duracao = duracao;
        this.gotIt = false;
        this.comentario = "";
    }
    
    public void setGotIt(boolean gotIt){
        this.gotIt = gotIt;
    }
    
    public boolean getGotIt(){
        return this.gotIt;
    }
    
    public void setComentario(String comentario){
        this.comentario = comentario;
    }
    
    public String getComentario(){
        return this.comentario;
        }
    
    public String getTitulo(){
        return this.titulo;
    }
    
    public int getDuracao(){
        return this.duracao;
    }
}
* @author Alexandre Laranja de Souza
 */
public class CD extends Item {
   
    private String artista;
    private int numeroDeFaixas;
    
    /** 
     * Cria uma nova instancia de CD.
     */
    public CD(String titulo, int duracao, String artista, int numeroDeFaixas) {
        super(titulo,duracao);
        this.artista = artista;
        this.numeroDeFaixas = numeroDeFaixas;
    }
    
    public void imprime(){
        System.out.println("CD: " + getTitulo + "(" + getDuracao + "min)");
    }
    
}

alguém pode me dizer pq no método imprime() ocorre esse erro??

vlw ae!
abração

7 Respostas

zinho

Tente

System.out.println("CD: " + getTitulob[/b]+ “(” + getDuracaob [/b]+ “min)”);

Alexandre_Laranja

nossa…
brigado!
:oops:

thiagopri

Os parenteses devem resolver seu problema,

Particularmente, quando estou usando herança e não estou fazendo Overwriting de métodos, eu costumo usar o super para indicar q esses métodos são herdados, ai quando bato o olho já sei:

System.out.println("CD: " + super.getTitulo() + "(" + super.getDuracao() + "min)");
zinho

Vc quis dizer Overriding certo?

thiagopri

hehehe zinho, na verdade nem um nem outro … rs … Quis dizer OverLoading … :slight_smile:

Valew

n3too

Pra que complicar?

Alexandre_Laranja

thiagopri:
Os parenteses devem resolver seu problema,

Particularmente, quando estou usando herança e não estou fazendo Overwriting de métodos, eu costumo usar o super para indicar q esses métodos são herdados, ai quando bato o olho já sei:

System.out.println("CD: " + super.getTitulo() + "(" + super.getDuracao() + "min)");

Show a dica do super cara!
vlw, vou passar a usar!
:wink:

Criado 21 de novembro de 2008
Ultima resposta 21 de nov. de 2008
Respostas 7
Participantes 4