26.08.2014 Views

C# e Orientação a Objetos

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

47 ORIENTAÇÃO A OBJETOS<br />

4 {<br />

5 Gerente g = new Gerente ();<br />

6 g. salario =1000;<br />

7<br />

8 System . Console . WriteLine (" Salário : " + g. salario );<br />

9<br />

10 System . Console . WriteLine (" Aumentando o salário em 10% ");<br />

11 g. AumentaSalario ();<br />

12<br />

13 System . Console . WriteLine (" Salário : " + g. salario );<br />

14<br />

15 System . Console . WriteLine (" Aumentando o salário em 30% ");<br />

16 g. AumentaSalario (0.3) ;<br />

17<br />

18 System . Console . WriteLine (" Salário : " + g. salario );<br />

19 }<br />

20 }<br />

Código <strong>C#</strong> 3.48: TestaGerente.cs<br />

Compile e execute a classe TestaGerente.<br />

Construtores<br />

No domínio de um banco, todo cartão de crédito deve possuir um número. Toda agência deve<br />

possuir um número. Toda conta deve estar associada a uma agência.<br />

Após criar um objeto para representar um cartão de crédito, poderíamos definir um valor para<br />

o atributo numero. De maneira semelhante, podemos definir um número para um objeto da classe<br />

Agencia e uma agência para um objeto da classe Conta.<br />

1 CartaoDeCredito cdc = new CartaoDeCredito ();<br />

2 cdc . numero = 12345;<br />

Código <strong>C#</strong> 3.49: Definindo um número para um cartão de crédito<br />

1 Agencia a = new Agencia ();<br />

2 a. numero = 11111;<br />

Código <strong>C#</strong> 3.50: Definindo um número para uma agência<br />

1 Conta c = new Conta ();<br />

2 c. agencia = a;<br />

Código <strong>C#</strong> 3.51: Definindo uma agência para uma conta<br />

Definir os valores dos atributos obrigatórios de um objeto logo após a criação dele resolveria as<br />

restrições do sistema do banco. Porém, nada garante que todos os desenvolvedores sempre lembrem<br />

de inicializar esses valores.<br />

Para não correr esse risco, podemos utilizar construtores. Um construtor permite que um determinado<br />

trecho de código seja executado toda vez que um objeto é criado, ou seja, toda vez que<br />

o operador new é chamado. Assim como os métodos, os construtores podem receber parâmetros.<br />

Contudo, diferentemente dos métodos, os construtores não devolvem resposta.<br />

Em <strong>C#</strong>, um construtor deve ter o mesmo nome da classe na qual ele foi definido.<br />

www.facebook.com/k19treinamentos 47

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

Saved successfully!

Ooh no, something went wrong!