Duvida quando a logica de OO

10 respostas
X

Vou fazer um sistema de agenda escolar p/ treino.
Mais estou como uma duvida:
Pois vou ter aluno, responsável e funcionário.
Eu faço uma classe funcionário e estendo para professor, diretor etc ???
Todos os vão ter que ter um endereço completo, então eu colocar endereço de cada classe fica repetivo d+ (né?) e sem fala se depois eu quizer tira ou acresentar algo vai dá mais trabalho… A ai eu poderia fazer uma classe endereço…
Mais ai funcionário não poderia herda endereço…

Eu faço a parte de endereço em cada classe mesmo? Ou tem outro modo?

10 Respostas

E

Herdar = relação “é-um”.

Como um funcionário não é um endereço, mas sim ele tem um endereço, a classe Funcionário não pode herdar de Endereço. (Até porque ele pode ter vários endereços :slight_smile: )

E

Crie uma classe “Endereço” contendo as informações como CEP, nome e número da rua etc.

X

Se eu criar a classe endereço, como vou relacionar a pessoa a quem pertence se não posso herda…
Por meio de objeto/polimorfismo???

diego.sas

xandi_m5:
Vou fazer um sistema de agenda escolar p/ treino.
Mais estou como uma duvida:
Pois vou ter aluno, responsável e funcionário.
Eu faço uma classe funcionário e estendo para professor, diretor etc ???
Todos os vão ter que ter um endereço completo, então eu colocar endereço de cada classe fica repetivo d+ (né?) e sem fala se depois eu quizer tira ou acresentar algo vai dá mais trabalho… A ai eu poderia fazer uma classe endereço…
Mais ai funcionário não poderia herda endereço…

Eu faço a parte de endereço em cada classe mesmo? Ou tem outro modo?

Poderia criar uma classe Pessoa com os atributos genéricos para todos…
Incluse Pessoa tem um endereço, ou uma lista de endereço!
Flw

E

Por exemplo,

class Pessoa {
    private Endereco endereco;
}
diego.sas
entanglement:
Por exemplo,
class Pessoa {
    private Endereco endereco;
}

class Aluno extends Pessoa{
// Código específico do aluno
}

Flw

X
entanglement:
Por exemplo,
class Pessoa {
    private Endereco endereco;
}
Então vai fica tipo assim??
class Pessoa{
private String nome;
private int idade;
private Endereco endereco;

...

}
class Funcionario extends Pessoa{

String cargo;

...
}
class Diretor extends Funcionario{
...
}
class Endereco{
...
}
diego.sas

Isso ae, este é o caminho.

X

Vlw Então…

Obrigado a todos…

X

Se fui fazer um crud simples em JSF. Com esse estrutura…
E se eu fizer aluno herdando de pessoa os valores fica todos null no Banco de Dados quando salvo aluno, mais se eu não herde de pessoa e declarar os valores em Aluno eles salva normal…
Pq isso? Como resolvo?

Criado 12 de dezembro de 2011
Ultima resposta 13 de dez. de 2011
Respostas 10
Participantes 3