SóProvas


ID
1175938
Banca
FDC
Órgão
IF-SE
Ano
2014
Provas
Disciplina
Programação
Assuntos

Em Java, um recurso é representado pelo bloco responsável pela criação dos objetos da classe, possui nome igual ao da classe, não especifica tipo de retorno e pode ser chamado exclusivamente pelo operador “new”. Esse recurso denomina-se:

Alternativas
Comentários
  • 1. Construtores são basicamente funções de inicialização de uma classe, as quais são invocadas no momento em que objetos desta classe são criadas. Eles permitem inicializar campos internos da classe e alocar recursos que um objeto da classe possa demandar, tais como memória, arquivos, semáforos, soquetes, etc.

    A função construtor de uma classe é reconhecida por ter o mesmo nome da classe. Por exemplo, um construtor para uma classe chamada rectangle seria a função rectangle(). É possível definir-se mais de um construtor; em outras palavras, a função membro construtor, assim como qualquer outra função membro de uma classe, pode ser sobrecarregada.

    Construtores podem ser usados para suportar a inicialização de valores internos da classe durante a declaração de objetos. Neste caso, os argumentos da função construtor são os valores que deverão ser inicializados para os dados do objeto. Quando este recurso for utilizado, é importante observar que construtores devem ser definidos de forma a cobrir todos as formas de inicialização desejadas -- por exemplo, um construtor sem argumentos para objetos não inicializados na declaração, ou que assumam valores default.

     

    2. Destrutores realizam a função inversa: são funções invocadas quando um objeto está para ``morrer''. Caso um objeto tenha recursos alocados, destrutores devem liberar tais recursos. Por exemplo, se o construtor de uma classe alocou uma variável dinamicamente com new, o destrutor correspondente deve liberar o espaço ocupado por esta variável com o operador delete.

    A função destrutor de uma classe tem o mesmo nome da classe com um til (~) como prefixo. Por exemplo, um destrutor para a classe rectangle seria chamado ~rectangle().

    Quando um objeto é usado para inicializar outro, uma cópia bit a bit é feita. Em muitos casos, este mecanismo de cópia é perfeitamente adequado. Porém, há casos onde esta cópia simples pode ser perigosa; por exemplo, quando um objeto contém apontadores para áreas alocadas dinamicamente. Em tais casos, a cópia implicaria em um compartilhamento de dados que poderia não ter exatamente o efeito desejado.