Desenvolvimento em .Net - Herança e Interfaces

1,952 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,952
On SlideShare
0
From Embeds
0
Number of Embeds
87
Actions
Shares
0
Downloads
17
Comments
0
Likes
0
Embeds 0
No embeds

No notes for 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

×