Desenvolvimento em .NET




    Herança e Interfaces
Objectivos
●   Perceber conceito de herança
●   Dominar terminologia aplicável
●   Conhecer keywords aplicáveis
●   Perceb...
Herança
●   Criar especializações
●   Base class / derived class
●   Base class é mais genérica que derived class
●   Deri...
Construtor
●   boa prática
    –   mybase.new
●   nota
    –   acessibilidade dentro da mesma familia
Keywords
●   inherits
●   overridable / overrides
●   not inheritable => classe / not overridable =>
    funções
●   shadows
Cenário
●   Terceiros (base class)
    –   Cliente / Fornecedor (derived class)
         ●   ambos têm um método Determina...
Classes Abstractas
●   Problema
    –   Base class sabe que é obrigatorio implementar
        determinado método / proprie...
Exercicio
●   Criar novo projecto chamado 0006_Heranca3
Exercicio
Exercicio
Exercicio
Interface
●   é um contrato
●   não tem nenhuma implementação
●   uma classe pode implementar mais do que um
    interface...
Herança ou Interface
●   Herança
    –   indica uma relação “is a” que será SEMPRE válida
         ●   um cliente será sem...
Vantagens Interface
●   Como não tem implementação é mais rápido
    de definir
●   Permite partilhar um “contrato” entre ...
Exercicio
●   Criar novo projecto chamado 0008_Interface
Exercicio
Exercicio
Exercicio
Exemplo MultiITV
●   Acesso a dados via Application Server, XML,
    ODBC
    –   todos têm que implementar (à sua maneira...
Objectivos
●   Perceber conceito de herança
●   Dominar terminologia aplicável
●   Conhecer keywords aplicáveis
●   Perceb...
Próximos SlideShares
Carregando em…5
×

Desenvolvimento em .Net - Herança e Interfaces

1.951 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.951
No SlideShare
0
A partir de incorporações
0
Número de incorporações
87
Ações
Compartilhamentos
0
Downloads
17
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Desenvolvimento em .Net - Herança e Interfaces

  1. 1. Desenvolvimento em .NET Herança e Interfaces
  2. 2. Objectivos ● Perceber conceito de herança ● Dominar terminologia aplicável ● Conhecer keywords aplicáveis ● Perceber aplicabilidade de Classes Abstractas ● Perceber conceito de interfaces ● Distinguir utilização de interfaces e classes abstractas
  3. 3. Herança ● Criar especializações ● Base class / derived class ● Base class é mais genérica que derived class ● Derived class é mais especifica que base class ● Base class pode sempre ser substituida por derived class ● Uma classe só pode herdar de uma outra classe
  4. 4. Construtor ● boa prática – mybase.new ● nota – acessibilidade dentro da mesma familia
  5. 5. Keywords ● inherits ● overridable / overrides ● not inheritable => classe / not overridable => funções ● shadows
  6. 6. Cenário ● Terceiros (base class) – Cliente / Fornecedor (derived class) ● ambos têm um método DeterminarMorada() que de formas diferentes determinam a morada apropriada ● Artigo (base class) – Produto / Serviço (derived class) ● ambos têm um método CalcularValor() que de formas diferentes calcula o valor final
  7. 7. Classes Abstractas ● Problema – Base class sabe que é obrigatorio implementar determinado método / propriedade, mas não sabe os detalhes de implementação ou então propõe uma solução ● Solução – MustInherit / MustOverride
  8. 8. Exercicio ● Criar novo projecto chamado 0006_Heranca3
  9. 9. Exercicio
  10. 10. Exercicio
  11. 11. Exercicio
  12. 12. Interface ● é um contrato ● não tem nenhuma implementação ● uma classe pode implementar mais do que um interface ● Convenção – nome do interface começa sempre por I. ex: IPesquisavel
  13. 13. Herança ou Interface ● Herança – indica uma relação “is a” que será SEMPRE válida ● um cliente será sempre um terceiro ● Interface – especifica uma potencialidade ● um artigo é pesquisável assim como um terceiro também é pesquisável – especifica um conjunto de caracteristicas (métodos / propriedades)
  14. 14. Vantagens Interface ● Como não tem implementação é mais rápido de definir ● Permite partilhar um “contrato” entre objectos não relacionados hierarquicamente – um artigo não é um terceiro mas os dois podem ser pesquisáveis ● Normalmente recomenda-se a definição de Interfaces em deterimento da definição de Classe Abstractas
  15. 15. Exercicio ● Criar novo projecto chamado 0008_Interface
  16. 16. Exercicio
  17. 17. Exercicio
  18. 18. Exercicio
  19. 19. Exemplo MultiITV ● Acesso a dados via Application Server, XML, ODBC – todos têm que implementar (à sua maneira) o mesmo conjunto de métodos: ● Open(), Close(), Execute() – partilham um conjunto de métodos e propriedades ● State, ConnectionProperties, RuntimeProperties, InicializarComandos() ● no código só faço connection.Execute – pedido reencaminhado para acesso a dados específico.
  20. 20. Objectivos ● Perceber conceito de herança ● Dominar terminologia aplicável ● Conhecer keywords aplicáveis ● Perceber aplicabilidade de Classes Abstractas ● Perceber conceito de interfaces ● Distinguir utilização de interfaces e classes abstractas

×