Por exemplo eu tenho um usuario com cargos como secretario, tesoureiro,entre outros.Cada cargo poderá ter acesso a determinadas telas.É melhor declarar cada cargo como uma classe ou como uma variavel da classe usuario?
Resumindo:
Cada cargo uma classe:
class Tesoureiro extends Usuario, class Secretario extends Usuario,…
ou
Classe usuario com cargo como string:
2)class Usuario{
String cargo = “”}
ou
Classe usuario com objeto cargo que dentro da classe cargo tera o nome do cargo e uma descrição:
Pensei que fosse uma variável global !!! :shock: :shock: :shock: :shock:
O correto seria uma variável de instância.
Bom, voltando a sua dúvida eu optaria pela composição.
Talvez não uma String, mas um objeto cargo onde seria possível atribuir os perfís do cargo corretamente.
public class Pessoa{
private ICargo cargo;
public ICargo cargo(){
return cargo;
}
}
Eu gosto bastante de utilizar uma classe para cada cargo, fica com uma cara mais OO, mas isso vai depender do projeto. Caso estes cargos venham a crescer, você terá problemas, pois terá que alterar código fonte. Outra opção também poderia ser um enumerador. Mas meu voto vai para utilizar uma propriedade Cargo na classe Pessoa.