Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Contruir a array dentro da própria declaração da classe.

Como faço para construir a array dentro da própria declaração da classe Empresa, fazendo com que toda vez que uma Empresa é instanciada, a array de Funcionario que ela necessita também é criada. Essa array deve ter tamanho n.

2 respostas
solução!

Oi Roberto, tudo bem ?

Para você fazer isso, você vai ter um construtor na classe Empresa :

public class Empresa {
    private Funcionario[] funcionarios;

    public Empresa(){

        // teremos que iniciar aqui
    }    

}

Assim que nossa empresa for criada, criaremos o array com o tamanho de funcionários :

public class Empresa {
    private Funcionario[] funcionarios;

    public Empresa(){

        funcionarios = new Funcionario[10];
    }    

}

Agora precisamos deixar esse tamanho de forma dinâmica :

public class Empresa {
    private Funcionario[] funcionarios;

    public Empresa(int qtdFuncionarios){

        funcionarios = new Funcionario[qtdFuncionarios];
    }    

}

Espero ter ajudado.

Abraços

Olá Roberto,

no exercício 1 desta aula você deve ter criado a classe empresa mais ou menos assim:

class Empresa {
        String nome;
        Funcionario[] funcionarios;
        String cnpj;
}

Para inicializar esse array de funcionarios, você pode fazer bem parecido com o Cliente na Conta mostrado na aula 3:

class Conta {
    int numero;
    double saldo;
    double limite;
    // quando chamarem new Conta, havera um new Cliente para ele.
    Cliente titular = new Cliente(); 
}

Só que no caso do array, quando você cria um array sempre precisamos passar um tamanho. Então por hora você pode sempre criar a empresa com 10 funcionários, por exemplo. Ai na aula 6 você verá um recurso do Java que te permitirá na hora de dar o new Empresa() você dizer um tamanho que quer para o array desta empresa.