12.07.2015 Views

k19-k11-orientacao-a.. - Departamento de Sistemas e Computação

k19-k11-orientacao-a.. - Departamento de Sistemas e Computação

k19-k11-orientacao-a.. - Departamento de Sistemas e Computação

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ORIENTAÇÃO A OBJETOS 421 class Agencia {2 int numero ;34 Agencia ( int numero ) {5 this . numero = numero ;6 }7 }Código Java 3.53: Agencia.java1 class Conta {2 Agencia agencia ;34 Conta ( Agencia agencia ) {5 this . agencia = agencia ;6 }7 }Código Java 3.54: Conta.javaNa criação <strong>de</strong> um objeto com o comando new, os argumentos passados <strong>de</strong>vem ser compatíveiscom a lista <strong>de</strong> parâmetros <strong>de</strong> algum construtor <strong>de</strong>finido na classe que está sendo instanciada. Casocontrário, um erro <strong>de</strong> compilação ocorrerá para avisar o <strong>de</strong>senvolvedor dos valores obrigatórios que<strong>de</strong>vem ser passados para criar um objeto.1 // Passando corretamente os parâmetros para os construtores2 CartaoDeCredito cdc = new CartaoDeCredito (1111) ;34 Agencia a = new Agencia (1234) ;56 Conta c = new Conta (a);Código Java 3.55: Construtores1 // ERRO DE COMPILAÇÃO2 CartaoDeCredito cdc = new CartaoDeCredito ();34 // ERRO DE COMPILAÇÃO5 Agencia a = new Agencia ();67 // ERRO DE COMPILAÇÃO8 Conta c = new Conta ();Código Java 3.56: ConstrutoresConstrutor PadrãoToda vez que um objeto é criado, um construtor da classe correspon<strong>de</strong>nte <strong>de</strong>ve ser chamado.Mesmo quando nenhum construtor for <strong>de</strong>finido explicitamente, há um construtor padrão que seráinserido pelo próprio compilador. O construtor padrão não recebe parâmetros e será inserido sempreque o <strong>de</strong>senvolvedor não <strong>de</strong>finir pelo menos um construtor explicitamente.Portanto, para instanciar uma classe que não possui construtores <strong>de</strong>finidos no código fonte, <strong>de</strong>vemosutilizar o construtor padrão, já que este é inserido automaticamente pelo compilador.1 class Conta {242 www.<strong>k19</strong>.com.br

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!