Duvida sobre herança em Java

Galera queria tirar uma duvida… Estou criando um joguinho e criei uma classe abstrata Personagem e criei suas subclasses (extends)
Estou com uma duvida de qualidade de código…

Qual método seria mais correto na visualizacao dos atributos da classe Personagem? Private ou Protected?

Se eu utilizar Private terei q acessar os atributos por meio de getters e setters em suas subclasses.
É correto usar atributos Private numa super classe? ou é desnecessário?

Essa é uma boa questão, acredito que isso vai depender da visibilidade que você deseja dá ao atributo. Se você quer que se acesse os atributos diretamente, você pode definir ele como protected mesmo. Geralmente eu deixo o acesso via get/set caso seja necessário algum dia no futuro a adição de alguma lógica de validação ou coisa do tipo… Eu desconheço alguma métrica ou artigo que fale sobre isso.

É isso mesmo amigo…

Até porque acessar variavel diretamente é uma coisa bem dificil de ver, mesmo que seja uma herança.

Na maioria das vezes é mais utilizado somente na própria classe… Melhor mesmo utilizar os getters e setters…

Abraços

Você pode deixar os atributos private e criar gets/sets protected. Assim o estado do seu objeto não fica visível para classes que apenas usam a superclasse. De qualquer maneira, você deveria repensar o seu design baseado em herança, pois ela gera um acoplamento muito forte entre a superclasses e as subclasses.

Galera mt obrigado pelas respostas.

ReneDouglasbr3,

desculpa voltar ao assunto quando o mesmo foi claramente encerrado e a sua dúvida sanada.

Além das colocações dos colegas acima (possível inserção de validação/lógica no futuro, deixar mais intuitivo o acesso), vale lembrar que é sempre elegante e padronizado acessar os atributos do objeto via métodos getters/setters.

Caso tenha alguma inconsistência durante a implementação do seu “joguinho”, divida conosco. E não chama de “joguinho”, chama de jogaço (ou jogo mesmo)! :stuck_out_tongue:

heheh Mt obrigado. nao sei qt a inconsistência, mas estou com problemas ao tentar fazer o meu personagem pular para frente (plataforma). Não sei se pode comentar sobre esse assunto nesse tópico ou tem q fazer outro… alguem tem a logica do pulo em movimento?

Cara, acho que vale mais a pena abrir um tópico novo no Java Avançado, com outro título. Do contrário, ninguém nunca vai imaginar que um tópico sobre herança tem uma dúvida sobre o algoritmo de salto de um personagem.

Consegui fazer meu personagem pular ! ^^ . Enfim, Qualquer outra dúvida que tiver no algoritmo vou abrir um novo tópico em Java Avançado como recomendado.
Obrigado a todos