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