Compartilhar via


Refatoração Extrair uma interface

Esta refatoração aplica-se a:

  • C#

  • Visual Basic

O quê: permite que você crie uma interface usando membros existentes de uma classe, struct ou interface.

Quando: você tem membros em uma classe, um struct ou uma interface que podem ser herdados por outras classes, outros structs ou outras interfaces.

Por quê: as interfaces são ótimos constructos para designs orientados a objetos. Imagine ter classes para vários animais (gato, cachorro, pássaro) que podem ter métodos comuns, como comer, beber, dormir. Usar uma interface como IAnimal permitiria que cachorro, gato e pássaro tivessem uma "assinatura" comum para esses métodos.

Refatoração Extrair uma interface

  1. Coloque o cursor no nome da classe.

    • C#:

      Highlighted code - C#

    • Visual Basic:

      Highlighted code - Visual Basic

  2. Em seguida, realize uma das seguintes ações:

    • Teclado
      • Pressione Ctrl+R, em seguida, Ctrl+I. (O atalho de teclado pode ser diferente de acordo com o perfil selecionado.)
      • Pressione Ctrl+. para disparar o menu Ações Rápidas e Refatorações e selecionar Extrair Interface no pop-up da janela Visualização.
    • Mouse
      • Selecione Editar > Refatorar > Extrair Interface.
      • Clique com o botão direito do mouse no nome da classe, selecione o menu Ações Rápidas e Refatorações e selecione Extrair Interface no pop-up da janela Visualização.
  3. Na caixa de diálogo Extrair Interface que é exibida, insira as informações solicitadas:

    Extract Interface

    Campo Descrição
    Nome da nova interface O nome da interface a ser criada. O nome usará como padrão IClassName, em que ClassName é o nome da classe selecionada acima.
    Nome do novo arquivo O nome do arquivo gerado que conterá a interface. Assim como ocorre com o nome da interface, esse nome usará como padrão IClassName, em que ClassName é o nome da classe selecionada acima. Selecione também a opção para Adicionar ao arquivo atual.
    Selecionar membros públicos para formar a interface Os itens a serem extraídos para a interface. Você pode selecionar quantos desejar.
  4. Selecione OK.

    A interface foi criada no arquivo com o nome especificado. Além disso, a classe que você selecionou implementa essa interface.

    • C#:

      Resulting Class - C#

      Resulting Interface - C#

    • Visual Basic:

      Resulting Class - Visual Basic

      Resulting Interface - Visual Basic

Confira também