Exercício Atributos de Classe (Apostila Caelum)

3 respostas
I

Enunciado:

Adicione um atributo na classe Funcionario de tipo int que se chama identificador. Esse identificador deve ter um valor único para cada instância do tipo Funcionario. O primeiro Funcionario instanciado tem identificador 1, o segundo 2, e assim por diante. Faça com que sua classe Funcionario possa receber, opcionalmente, o nome do Funcionario durante a criação do objeto.

Eu resolvi da seguinte forma:

class Funcionario {
    // ...
    private int identificador;
    private static int sequenciaId;

    public Funcionario() {
        identificador = ++sequenciaId;
    }

    public Funcionario(String nome) {
        this();
        this.nome = nome;
    }

    public int getIdentificador() {
        return identificador;
    }
 
}

Como sou novato em Java, sempre me pergunto se não existe uma forma mais fácil de resolver os problemas nessa linguagem. Existe?

3 Respostas

RodrigoKaos
Tbm penso bastente nisso, se da pra melhorar algo, se é a forma "mais inteligente". Acho que assim é a maneira mais simplificada...
class Funcionario {  
    // ...  
    private static int identificador;  
  
    public Funcionario(String nome) {  
        ++identificador;
         this.nome = nome;
  }  
  
    public int getIdentificador() {  
        return identificador;  
    }  
  
}
I

RodrigoKaos,

Da forma como você fez, o atributo estático vai armazenar apenas o número de funcionários instanciados, não?
O exercício pede que cada funcionário tenha um identificador único.

RodrigoKaos

É vdd, faltou atenção na hr de ler o enunciado…

Criado 17 de junho de 2013
Ultima resposta 20 de jun. de 2013
Respostas 3
Participantes 2