Curso de C#: Lição 13: Interfaces

Publicado em: 25/05/2008  |  C#  |  Visualizações: 1.394  |  0 Comentário(s)
Esta lição ensina C # Interfaces. Os nossos objectivos são os seguintes:

* Entenda os Objetivos de Interfaces.
* Definir uma interface.
* Use uma interface.
* Implementar interface herança.


Uma interface se parece com uma classe, mas não tem aplicação. A única coisa que ele contém são definições de eventos, indexadores, métodos e / ou propriedades. A razão interfaces apenas fornecer definições é porque eles são herdadas por classes e Estruturas, que deve proporcionar uma aplicação para cada membro interface definida.

Então, quais são as interfaces bom para se eles não se aplicar funcionalidade? Eles são grandes para agrupar plug-n-play como arquiteturas onde os componentes podem ser intercambiadas em vão. Uma vez que todos os componentes intercambiáveis implementar a mesma interface, eles podem ser utilizadas sem qualquer programação extra. A interface forças cada componente pública específica para expor os membros que vão ser utilizados em uma determinada maneira.

Porque interfaces devem ser implementadas por classes derivadas e Estruturas, eles definem um contrato. Por exemplo, se foo classe implementa a interface IDisposable, ele está a fazer uma declaração de que ele garante que tem o Descarte () método, que é o único membro da IDisposable interface. Qualquer código que pretenda utilizar class foo maio verificar se foo classe implementa IDisposable. Quando a resposta é verdade, então o código sabe que pode chamar foo.Dispose ().

Listagem 13-1 mostra como a definir uma interface:
interface IMyInterface
{
    void MethodToImplement();
}


Listing 13-1 define uma interface chamada IMyInterface. A convenção é a nomenclatura comum prefixo interface todos os nomes com um capital "I". Esta interface tem um único método chamado MethodToImplement (). Isso poderia ter sido qualquer tipo de método declaração com diferentes tipos de parâmetros e retorno. Eu apenas optou por declarar esse método, sem parâmetros e retornar um tipo de tornar nulo o exemplo fácil. Repare que este método não ter uma execução (instruções entre chavetas - ()), mas, em vez termina com um ponto e vírgula, ";". Isto porque a interface especifica apenas a assinatura dos métodos que herda uma classe ou struct deve implementar.

Listagem 13-2 mostra como essa interface poderia ser utilizado.
class InterfaceImplementer : IMyInterface
{
    static void Main()
    {
        InterfaceImplementer iImp = new InterfaceImplementer();
        iImp.MethodToImplement();
    }

    public void MethodToImplement()
    {
        Console.WriteLine("MethodToImplement() called.");
    }
}


A classe InterfaceImplementer em 13,2 Listing IMyInterface implementa a interface. Indicando que a classe que herda uma interface é a mesma que herda uma classe. Neste caso, é utilizada a seguinte sintaxe:

class InterfaceImplementer : IMyInterface
Agora que esta classe herda a interface IMyInterface, deve aplicar os seus membros. Fá-lo através da execução das MethodToImplement () método. Repare que este método de execução tem exatamente a mesma assinatura, parâmetros e método de nome, tal como definido no IMyInterface a interface. Qualquer diferença compilador irá causar um erro. Interfaces também pode herdar outras interfaces.

Listagem 13-3 mostra como herdou as interfaces são implementadas.
using System;

interface IParentInterface
{
    void ParentInterfaceMethod();
}

interface IMyInterface : IParentInterface
{
    void MethodToImplement();
}

class InterfaceImplementer : IMyInterface
{
    static void Main()
    {
        InterfaceImplementer iImp = new InterfaceImplementer();
        iImp.MethodToImplement();
        iImp.ParentInterfaceMethod();
    }

    public void MethodToImplement()
    {
        Console.WriteLine("MethodToImplement() called.");
    }

    public void ParentInterfaceMethod()
    {
        Console.WriteLine("ParentInterfaceMethod() called.");
    }
}


O código em 13,3 lista contém duas interfaces: IMyInterface ea interface que herda, IParentInterface. Quando uma interface herda um outro, qualquer aplicação ou struct classe deve implementar cada membro interface em toda a cadeia herança.  Uma vez que a classe em InterfaceImplementer listagem 13-3 herda de IMyInterface, também herda IParentInterface.  Por isso, o InterfaceImplementer classe deve implementar a MethodToImplement () método especificado na IMyInterface interface e os ParentInterfaceMethod () método especificado na IParentInterface interface.


Resumo


Você agora compreender o que são interfaces. Você pode implementar uma interface e usá-lo em uma classe. Interfaces também pode ser herdada por outra relação. Struct ou qualquer classe que herda uma interface também deve executar todos os membros em todo o interface herança cadeia.
compartilhe
Links patrocinados
Últimos artigos do editor

tableless.jpg Tableless: Formulário sem.
Está matéria mostra como des.
software.jpg Usabilidade: Bom modelo c.
Um bom modelo conceitual per.
hackers.jpg Linguagens Formais
Entende-se por Teoria das Li.
hackers.jpg Programação de computador.
Programação é o processo de .
SO.jpg PCI Express
PCI Express (também conhecid.
c_sharp.jpg Curso de C#: Lição 18: Ov.
Esta lição mostra como a sob.
Opinião do leitor:
0 Comentário(s)
Acesso restrito
Destaques
ÍCONES BR ÍCONES BR
A maior coletânea de ícones do Brasil. Faça suas buscas de ícones, e encontre em forma de filtro.
Cadastre-se Cadastre-se
Com o cadastro você recebe as novidades da semana e pode participar das promoções do portal.
Assine nosso RSS Assine nosso RSS
Assine nossos RSS e recebe as novidades do site em seu leitor.
Autor
Tags
Artigos Relacionados
Novos Artigos
Notícias Relacionados

© 2005 - 2008 - Oficina da Net - v 3.0 - É proibida a reprodução parcial ou completa do conteúdo deste site sem autorização por escrito. Resolução adequada: 1024x768px.