SOBRECARGA
Luciana Balieiro Cosme
CONSTRUTORES
um mtodo que inicializa um objeto quando este criado. Normalmente ele utilizado para inicializar variveis. Toda classe em C# tem um construtor, mesmo que implcito. Um construtor tem o mesmo nome da classe e no tem valor de retorno.
EXEMPLO
public class Pessoa { public string nome; public Pessoa() //Construtor { nome=; } }
DESTRUTOR
Mtodo chamado antes de um objeto ser finalizado. Tem o nome precedido pelo caractere ~ Antes de um programa finalizar todos os destrutores so chamados.
EXEMPLO
~Pessoa() { Console.WriteLine("Finalizando"); }
MTODOS E SOBRECARGA
Polimorfismo
a capacidade de objetos diferentes reagirem segundo a sua funo a uma ordem padro. O comando "abre faz um objeto entrar em ao, seja ele uma janela, uma porta ou uma tampa de garrafa.
Sobrecarga
Dois mtodos de uma classe podem ter o mesmo nome, desde que suas assinaturas sejam diferentes. No gera conflito pois o compilador capaz de detectar qual mtodo deve ser escolhido a partir da anlise dos argumentos do mtodo.
ASSINATURA
Nome do mtodo Nmero de parmetros Tipos dos parmetros Ordem da declarao Tipo de retorno
EXEMPLO 1
public class Calculadora { int a,b; public Calculadora(_a,_b) { a = _a; b=_b; } public int soma() { return a+b; } public int soma(int _a, int _b) { return _a+_b; } }
EXEMPLO 2
public class Livro { private string nome; public Livro() { nome=Sem ttulo; } public Livro(string titulo) { nome = titulo; }
EXERCCIOS
ITENS ESTTICOS
Cada objeto tem valores especficos para seus membros; O qualificador static em um atributo permite que o valor dele seja nico para todas as instncias de uma classe; Funciona como se o membro fosse global para todos os objetos criados; Atributos/mtodos estticos so tambm atributos/mtodos de classe;
ITENS ESTTICOS
Mtodos estticos, da mesma forma, podem ser acessados diretamente atravs da classe; Um mtodo esttico pode ser acessado somente por outro membro esttico da classe; Mtodos estticos no podem acessar diretamente variveis de instncia ou mtodos de instncia.
EXEMPLO
public class Produto { public static int total = 0; private string nome; public string Nome { get { return nome; } set { nome = value; } } public Produto(string n) { total++; nome = n; } Produto p = new Produto("caneta"); Produto pr = new Produto("lpis"); MessageBox.Show("O nome do primeiro produto " + p.Nome + "\nO nome do segundo produto "+ pr.Nome + "\nO nmero total de produtos " + Produto.total);
ESCOPO
Referncia a contexto (mtodo, bloco, etc) em que uma varivel ou mtodo pode ser usado; Escopo local
Escopo de classe
extensivo a toda a classe; usado e visualizado em todo mtodo da classe.
EXEMPLO
Visibilidade dentro da classe
Varivel local com visibilidade apenas dentro mtodo.
public class Circulo { int raio; int x, y; public double area() { return 3.14 * raio * raio; } public void mudaraio(int novoraio) { int maxRaio = 50; if (novoraio > maxRaio) { raio = maxRaio; } if (novoraio > 0) { int inutil = 0; raio = novoraio; } }
}
EXERCCIOS
contm x e y que podem ser definidos em construtor raio inteiro e origem com um objeto Ponto construtor que define origem e raio Varivel PI como um membro esttico mtodo que retorna a rea mtodo que retorna a circunferncia
Encapsule os dados em propriedades Crie um segundo construtor para Circulo que aceite um raio do tipo int e coordenadas x e y Desenhe o crculo na tela.
TELA
TELA 2