Mais de um construtor

4 respostas
H

Olá Pessoal!

Gostaria de saber porque é comum a utilização de mais de um construtor para uma só classe. Qual a vantagem de se codificar construtures parciais para um objeto.

Obrigado

4 Respostas

caiofilipini

Não acho que sejam construtores parciais. Se for o caso, tem alguma coisa errada. A idéia de ter mais de um construtor, pelo menos pra mim, faz sentido se um objeto pode ter diferentes estados consistentes.

Usando um exemplo simples da API, alguns dos construtores de java.lang.Exception:

public Exception(String message) {...}

public Exception(Throwable cause) {...}

public Exception(String message, Throwable cause) {..}

Você pode ter uma exceção com uma mensagem específica. Caso sua exceção tenha sido causada por alguma outra, você pode especificar a causa, sem perder o stacktrace. Ou ainda, pode fazer as duas coisas. São três estados válidos diferentes para um mesmo objeto.

B

Você pode querer ter um comportamento padrão no caso de construtores parciais, não precisando passar todos os argumentos.

Outra opção é ter construtores de conveniência, como por exemplo no caso do FileInputStream. o construtor principal dele pode ser o que recebe um FileDescriptor, que representa a ligação física com o sistema de arquivos. Pra ajudar você poder passar um File, que é a representação abstrata do arquivo, e é muito mais comum. Outra opção é passar uma String que é o nome do arquivo, ainda mais comum que File.

H

Chamei de parcial porque as assinatura sáo diferentes e normalmente náo definem todos os atributos.

Obrigado Caio

H

Bruno acho que vc entendeu minha duvida.

Obrigado

Criado 10 de novembro de 2008
Ultima resposta 10 de nov. de 2008
Respostas 4
Participantes 3