Chamada de um atributo da classe Pai

4 respostas
vini_komatsu

Boa Noite Rapaziada.

Estou com uma breve duvida em chamar um atributo da classe pai.
Veja se consegue me entender.

Tenho uma classe Funcionario com atributo bonificacao.
Tenho uma classe Gerente que extends de Funcionario.
Pra chamar o atributo bonificacao poderia estar usando o super.bonificacao, Certo???
E se eu tenho mais uma classe Diretor que extends de Gerente.
Como faço pra chamar o atributo bonificacao que esta la em Funcionario???

Desde ja fico agradecido
Vlw

4 Respostas

romarcio

Se você se refere a atributo uma variável de instancia, gera os métodos get e set dela. Dai você já terá acesso a esses métodos na classe Gerente.
Ele estará visível também na classe Diretor.

mausexdd

voce tbm pode criar um método abstrato na classe pai

public abstract void adicionaBonificacao();

automaticamente todas as suas classes filhas seriam obrigadas a implementar este método, de maneira
que voce não fique amarrado a uma unica condição .. ex o bonus de um gerente ... dificilmente vai ser igual
ao de um um vendedor ou Presidente da empresa ... o melhor seria criar uma Interface com esse metodo lá dentro
aonde todos os seus empregados implementariam esta face...seria melhor pois lembre-se .. não é recomendado uma herança
com mais de 3 niveis ex. supervisor extends coordenador que extends gerente que extends funcionario...


Tenho uma classe Gerente que extends de Funcionario.
.....
Tenho uma classe Gerente que extends de Funcionario

isto não é uma boa pratica!
pode complicar e muito a interpretação do seu cod em um futuro breve.!

Assim seria melhor com a face...
public class Vendedor extends Funcionario implements IBonifica{

}
mausexdd

PS* Não crie topicos repitidos !

discorpio
mausexdd:
voce tbm pode criar um método abstrato na classe pai
public abstract void adicionaBonificacao();

automaticamente todas as suas classes filhas seriam obrigadas a implementar este método, de maneira
que voce não fique amarrado a uma unica condição .. ex o bonus de um gerente ... dificilmente vai ser igual
ao de um um vendedor ou Presidente da empresa ... o melhor seria criar uma Interface com esse metodo lá dentro
aonde todos os seus empregados implementariam esta face...seria melhor pois lembre-se .. não é recomendado uma herança
com mais de 3 niveis ex. supervisor extends coordenador que extends gerente que extends funcionario...


Tenho uma classe Gerente que extends de Funcionario.
.....
Tenho uma classe Gerente que extends de Funcionario

isto não é uma boa pratica!
pode complicar e muito a interpretação do seu cod em um futuro breve.!

Assim seria melhor com a face...
public class Vendedor extends Funcionario implements IBonifica{

}

Boa tarde a todos.

O ideal mesmo é você utilizar o método abstrato, pois criar uma interface para implementar apenas um método, considero isto disperdício de recurso, a não ser que se vá implementar vários outros métodos abstratos que se encaixem na mesma condição de bonificação.

Aliás, a meu ver, também considero disperdício de recursos voce ficar criando classes de diversos cargos (Presidente, Gerente, funcionário e etc.) quando este dado é um valor a ser armazenado no atributo "Cargo", isto pois, devemos sempre perguntar: Todo Presidente de Empresa e todo Gerente são todos eles Funcionários, ou não :?: :?: :?:

E quando um Funcionário for promovido a Gerente, e ou quando um Gerente for promovido a Presidente de Empresa, voce ficará deslocando dado de um classe para outra dentro da aplicação :?: :?: :?: Como esse dado será então armazenado no banco :?: :?: :?: Será de acordo como o mesmo organograma de classes da aplicação :?: :?: :?:

Mesmo que esse conceito de criar classes para diversos cargos sejam apenas para ilustrar de como funciona o paradigma de Orientação a Objetos, no modo de pensar é errôneo pois estimula equivocadamente o uso desta prática que não é ideal.

A fazer um análise de seu projeto, voce verá que a maioria dos atributos de um Presidente de Empresa, Gerente e qualquer Funcionário, são todos eles iguais, diferindo apenas entre eles de um a sete atributos no máximo, se chegar a dez, é muito.

Um abraço

Criado 21 de junho de 2011
Ultima resposta 22 de jun. de 2011
Respostas 4
Participantes 4