A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

C# Sharp Shooters.NET Universidade Federal de Pernambuco Centro de Informática Recife, 23/09/2002 Autor: Marden Menezes Costa Herança.

Apresentações semelhantes


Apresentação em tema: "C# Sharp Shooters.NET Universidade Federal de Pernambuco Centro de Informática Recife, 23/09/2002 Autor: Marden Menezes Costa Herança."— Transcrição da apresentação:

1 C# Sharp Shooters.NET Universidade Federal de Pernambuco Centro de Informática Recife, 23/09/2002 Autor: Marden Menezes Costa Herança

2 Implementando Para relembrar o que foi discutido reunião passada, veremos um código: using System; namespace Herança { class Pessoa { private string nome; private int idade; public Pessoa(string n, int i) { this.nome = n; this.idade = i; } public string Nome { set { nome = value;} get { return nome;} } public int Idade { set { idade = value;} get { return idade;} } }// fim da classe Pessoa

3 Implementando(II) class Funcionario : Pessoa { private int numeroCarteira; public Funcionario(string n, int i, int carteira) : base (n,i) { this.numeroCarteira = carteira; } public int Carteira{ get { return numeroCarteira;} set { numeroCarteira = value;} }

4 Implementando(III) class Teste { static void Main (string[] args){ Funcionario funcionario = new Funcionario("Josué",25,166); Console.WriteLine("Funcionário: " + funcionario.Nome); Console.WriteLine ("Idade: " + funcionario.Idade); Console.WriteLine("Número da Carteira: "+ funcionario.Carteira); Console.ReadLine(); } // fim da Main } //fim da classe } // fim do namespace

5 Compilação

6 Caso um método de uma classe tenha métodos que sejam implementados diferentemente nas suas classe filhas, poderemos usar o polimorfismo em métodos. Para isso usaremos os modificadore virtual e override. Vejamos o seguinte código: Polimorfismo

7 Polimorfismo(II) using System; namespace Polimorfismo { class Classe1 { public virtual void guardaMensagem (string msg) { msg = msg + "Classe 1 "; Console.WriteLine(msg); } class Classe2 : Classe1{ public override void guardaMensagem( string msg) { msg = msg + "Classe 2 "; base.guardaMensagem(msg); }

8 class Classe3 : Classe2{ public override void guardaMensagem(string msg) { msg = msg + "Classe 3 "; base.guardaMensagem(msg); } class Teste { public static void Main(string[] args) { Classe3 c3 = new Classe3(); c3.guardaMensagem("As classes usadas foram: "); Console.ReadLine(); } Polimorfismo(III)

9 Compilação

10 Abstração Veja abaixo como implementar o uso de classes abstratas: using System; namespace ClassesAbstratas { abstract class CadastroPessoa { abstract void cadastrarPessoa(); abstract void imprimirDados(); } class CadastroFuncionario : CadastroPessoa { public override cadastrarPessoa() { // implementação } public override imprimirDados() { // implementação }

11 No caso de interfaces o esquema é o mesmo, mas não é preciso o uso de override já que os métodos não são abstract. Lembrar que a herança em C# é simples para classes e múltipla para Interfaces. Veja o exemplo: Interfaces

12 using System; namespace Interfaces { interface Itestando { void metodoTeste(); } interface Itestando2 { void metodoTeste2(); } class teste : Itestando, Itestando2 { public void metodoTeste() { //implementação ] public void metodoTeste2() { //implementação } Interfaces(II)

13 Desenvolvendo sites de e-commerce com.NET, Makron Books, 2002 C# e.NET - Guia do Desenvolvedor, Editora Campus, 2002 Referências


Carregar ppt "C# Sharp Shooters.NET Universidade Federal de Pernambuco Centro de Informática Recife, 23/09/2002 Autor: Marden Menezes Costa Herança."

Apresentações semelhantes


Anúncios Google