Dúvida em herança (Dúvida Respondida)

9 respostas
Phpimenta

Fala moçada blz?

Alguém sabe responder se os membros privados de uma superclasse são herdados pela sua subclasse?

Agradeço desde já a todos que responderem.

9 Respostas

I

Creio que não…só os privates que eu acho que não…mas protected vai pela herança…e apenas por ela…uma outra classe normal, sem extend dela não conseguiria usa-la, e nem de outro pacote…alguem me corriga se estiver errado :smiley:
(y)

c354r

Sim são herdados, para acessá-los em uma subclasse use “super.aquiOAtributo”…

renamed

Não pessoal. Private é apenas da classe, protected que é herdado e super visível a todos.
Para uma sub classe acessar os atributos private de uma super classe só através dos getters e setters.

Deem uma lida no google.

maxmustang

private é apenas na propria classe

da pra “acessar” com seus getters e setters

I

vish, troquei as bolas! o que eu falei do private é do protected! heheh mau ae

T

SOMENTE os atributos PUBLIC e PROTECTED de uma superclasse são acessados diretamente pelas suas subclasses.
O atributos privados são acessados diretamente somente pela própria classe.

c354r

Verdade verdade… :oops:

Precisa criar os getters e os setters, é pode acessar como “super.getAtributo” quanto “this.getAtributo”. :roll:

Mals aê… :smiley:

Obs: me corrijam se eu estiver errado.

Phpimenta

Valeu moçada pelas respostas. Abraço.

WellingtonRamos

Phpimenta:
Fala moçada blz?

Alguém sabe responder se os membros privados de uma superclasse são herdados pela sua subclasse?

Agradeço desde já a todos que responderem.


Até são “herdados”, mas a classe-filha não sabe disso (ou seja, você não terá acesso se não disponibilizar métodos protected/public de acesso na classe-pai).

public class Pai {
   private String pai = "Eu sou o pai";
   public String getPai(){
      return pai;
   }
}

public class Filho extends Pai {
   public void teste(){
      //Se tentar acessar diretamente o atributo pai, não conseguirá. Ocorrerá erro de compilação.
      //entretanto, através de getPai() você conseguiu acessar algo que a classe Filho desconhece Pai.pai
      System.out.println(getPai()); 
   }
}
Criado 8 de junho de 2010
Ultima resposta 8 de jun. de 2010
Respostas 9
Participantes 7