Pergunta

Atualmente estou trabalhando meu caminho através de código completo e o "interface" palavra continua aparecendo! Eu estou tentando obter minha cabeça redonda que uma interface é. você pode definir o termo? Também o que realmente torna-se uma "interface de classe"?

Foi útil?

Solução

Eu acho que uma boa maneira de definir uma interface é a seguinte

Uma interface é um contrato que especifica um conjunto de métodos, campos e propriedades que estará disponível em qualquer objeto implementação

A implementação real de língua para língua pode ter engraçado pequenas diferenças, mas o princípio é válido.

I considerado adicionando interfaces implementadas para a lista acima, mas deixou-o fora porque parecia ser um pouco demasiado específica da linguagem. Eu acho que é OK, porque embora o efeito final é quase o mesmo. Aderência em mais interfaces é apenas adicionando mais métodos, campos e propriedades do contrato.

Outras dicas

Em geral, uma interface é simplesmente "o que os olhares classe como para o resto do mundo".

Por exemplo, esta classe em Java:

class MyClass {
  private string data;
  private string Foo() {...}
  public void Bar(string s){...}
}

poderia ser dito para ter apenas a função Bar em sua interface. Internamente ela tem alguns outros membros, mas eles são privados, para que eles não são visíveis para o mundo exterior.

Mais comumente, as interfaces são também tipos específicos na língua, por exemplo, no seguinte, implementos MyClass os IMyClass interface:

interface IMyClass {
  public void Bar(string s);
}

class MyClass implements IMyClass {
  private string data;
  private string Foo() {...}
  public void Bar(string s){...}
}

A interface é agora expressa em código, de modo que a qualquer momento é esperada uma variável do tipo IMyClass, um objecto de MyClass tipo pode ser utilizada, porque ela implementa a interface correcta.

É face externa para o mundo. Normalmente, o conjunto de métodos públicos (membros) expõe.

Tecnicamente porém eles seria 2 coisas diferentes

Uma interface seria um contrato público. por exemplo.

interface ILogger
{
  void Log(String str);
}

A classe seria então 'implementar' essa interface - de uma forma dizendo que ele fornece essa funcionalidade

class ConsoleLogger : ILogger
{
  public ConsoleLogger() { ... }
  public void Log(String str)
  {
    Console.WriteLine("Console Logger " + str);
  }
  // private stuff
}

Os usuários deste serviço / Interface não têm de se preocupar com a forma como ele é implementado ou que está a implementar isso? Por dependendo de uma interface, a implementação real pode ser ligado à vontade.

A interface para uma classe é a sua "face pública" que outras classes podem ver. Ele separa a implementação da classe da forma como ele interage com outras classes. Dessa forma, diferentes implementações podem ser trocados e outras classes não precisa saber nada sobre o que está por trás da interface.

Uma interface pode incluir ambos os membros de dados e funções.

Interface é a definição de um conjunto de métodos que a classe pode implementar. Seu usado principalmente para o polimorfismo interface.

Uma interface é como uma classe, mas não completamente. Ele tem características semelhantes, como uma classe, mas não é uma interface. Uma interface tem variáveis ??e métodos "assim como a classe, mas os métodos declarados na interface do são por padrão abstrato (somente assinatura do método, nenhum corpo)".

http://beginnersbook.com/2013/05/java-interface/

Interfaces tem duas definições. Depende em que contexto o termo interface é usado.

  1. Classes uma interface refere-se a todos os métodos públicas implementadas de uma classe.
  2. Uma interface como um Tipo. ou seja usando a interface palavra-chave para declarar uma interface.

    interface Movable{ 
        moveStraight();
        moveLeft();
        moveRight();
        stop();
    }
    

    Então, agora uma classe, digamos, um carro pode implementar a interface móvel. Isto é o que é conhecido como o contrato. Se implementos classe de carro de interface móvel, Carro garante para fornecer implementações para todos os métodos declarados em bens móveis declaração.

Para concluir, geralmente uma interface é tratada como um tipo (definição 2) em um contexto de linguagem de programação específica. Você vai encontrar a primeira definição em menos ocasiões geralmente em um contexto teórico ou design.

O exemplo da vida real clássico de uma interface é o controle de um carro.

A ruptura, gás e roda seria a interface. O motor e outros aspectos mechenical seria a implementação. Estes aspectos mecânicos podem mudar, nós não saberíamos porque nossa interface continua a mesma.

Este é o poder de uma interface, ele oculta detalhes de implementação para que possamos trabalhar em um nível mais alto de abstração. Nós podemos usar diretamente a funcionalidade da interface geralmente sem se preocupar como o código abaixo é aplicada.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top