[DUVIDA] Herança

2 respostas Resolvido
java
E

-> Boa tarde, estou iniciando agora os estudos em programação e estou lendo um pdf da casa do código, o exemplo é um sistema de livraria e estou vendo Herança agora, então vou mostrar a parte que ta o erro e já agradeço caso alguém possa me ajudar.

public class Livro {
	 private String nome;
	 private String descrição;
	 private Double valor;
	 private String isbn;
	 private Autor autor;

  public boolean aplicaDescontoDe(double porcentagem) {
		if (porcentagem > 0.3){
			return false;
		}
		this.valor -= this.valor * porcentagem;
		return true;
	}
}

// _____________________________________________________________
> public class Ebook extends Livro {

public boolean aplicaDescontoDe(double porcentagem){
       		if (porcentagem > 0.15) {
     		return false;
        	}
              this.valor -= this.valor * porcentagem;
             return true;
       	}
       }

-> aqui no objeto Ebook em “this.valor” está dando erro, dizendo que não está visível, alguém pode me ajudar ?

2 Respostas

rmendes08
Solucao aceita

Campos private não são visíveis para as subclasses. Para que um campo (ou método) fique visível para as subclasses, mas não fique visível para outras classes ele deve ser marcado como protected.

E

Valeu @rmendes08, obrigado :smiley:

Criado 21 de janeiro de 2016
Ultima resposta 21 de jan. de 2016
Respostas 2
Participantes 2