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

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

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

Apresentações semelhantes


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

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

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 Polimorfismo 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:

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 Polimorfismo(III) 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();

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() {

11 Interfaces 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:

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

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


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

Apresentações semelhantes


Anúncios Google