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

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

Classes Abstratas e Interfaces GX102 - 2012.2 – Aula05 1.

Apresentações semelhantes


Apresentação em tema: "Classes Abstratas e Interfaces GX102 - 2012.2 – Aula05 1."— Transcrição da apresentação:

1 Classes Abstratas e Interfaces GX102 - 2012.2 – Aula05 1

2 Overview Modificadores de visibilidade Método Abstrato Classe abstrata Interface Interface X Classe abstrata GX102 - 2012.2 - Aula01 2

3 Modificadores de Visibilidade Definem quem tem acesso aos atributos e métodos de uma classe. Public – Todas as classes enxergam Private – Somente a classe enxerga Protected – Visível para a hierarquia Default de classes = Internal (NO C#) Default de métodos/atributos = Private (NO C#) GX102 - 2012.2 - Aula01 3

4 Métodos abstratos Possui apenas assinatura (Não pode possuir corpo) Uma classe com um ou mais métodos abstracts, consequentemente é uma classe abstrata. Sintaxe : abstract modificador retorno Nome() { } Podem sofrer override Não podem ser private GX102 - 2012.2 - Aula01 4

5 Classe Abstrata É uma classe que não pode ser instanciada Abstração de uma classe/ideia Usada quando se quer manter um esquema comum entre as subclasses, porém não se deseja instanciar a classe-base. Sintaxe: abstract (modificador) classe Nome { } Pode possuir atributos e métodos concretos GX102 - 2012.2 - Aula01 5

6 Considerações sobre a herança Todos os métodos abstratos herdados devem sofrer override Abstrai-se em uma classe abstract as ideias de classes concretas semelhantes A visibilidade de uma subclasse não pode ser maior que a de sua classe-base GX102 - 2012.2 - Aula01 6

7 Interface Forma de declarar um conjunto de métodos comuns a um conjunto de classes As classes não precisam ser da mesma hierarquia para implementar uma mesma interface Todos os métodos serão publics Os métodos não possuem corpo (porém não são abastract) GX102 - 2012.2 - Aula01 7

8 Interface (continuação) Uma classe deve implementar todos os métodos da interface que ela usa Nomenclatura: geralmente usa-se “I” na frente do nome. Exe: public class Enemy : IDrawable Você pode acessar a instância de uma classe através de uma referência pertencente à interface implementada. Ex: IDraawble referencia = new Enemy(); GX102 - 2012.2 - Aula01 8

9 Herança entre interfaces Uma interface pode herdar de outra interface Uma interface pode herdar de uma ou mais interfaces Exemplo: IEnemy: IDrawable, IUpdatable Alternativa para a herança múltipla GX102 - 2012.2 - Aula01 9

10 Problema do diamante GX102 - 2012.2 - Aula01 10

11 Classe abstrata X Interface Classes abstratas possuem atributos Interfaces não possuem métodos Classes abstratas podem possuir métodos não abstratos Interfaces não podem declarar corpo para seus métodos Ambas não podem ser instanciadas GX102 - 2012.2 - Aula01 11


Carregar ppt "Classes Abstratas e Interfaces GX102 - 2012.2 – Aula05 1."

Apresentações semelhantes


Anúncios Google