Interface C#

Interface C#
Assim como as aulas, existem outros recipientes chamados interfaces que contêm métodos, eventos e propriedades. As interfaces contêm apenas a declaração e a definição das funções; toda a descrição é usada em outro lugar no programa ou principalmente em outras classes herdando a interface. Interfaces não têm seus membros particulares. Todos os membros da descrição da função são públicos e agem como informações abstratas. Uma interface é definida usando a interface do nome da palavra -chave junto com o nome que você deseja dar. Ao usar aulas, não podemos realizar o fenômeno de múltiplas heranças. Mas usando interfaces, é possível realizar várias heranças. O funcionamento da interface será discutido aqui.

Sintaxe para declarar uma interface

Interface




Depois de definir a interface, agora os implementamos usando a seguinte sintaxe:

# Classe X: name_of_interface

Esta declaração é feita usando o nome da interface associada a uma classe com um cólon. Ao fazer isso, todos os membros dentro da interface são declarados vazios de uma classe que implementa a interface deve implementar todos os recursos da interface.

Implementação da interface

Exemplo 1

Declararemos a interface com seu nome após a declaração de uma biblioteca. Dentro da interface, apenas declararemos o nome da função. O tipo de retorno também será mencionado. A interface contém apenas os cabeçalhos da função que não contém a descrição relacionada à função. Então, fechamos o corpo da interface porque apenas uma única função é definida aqui.

Interface inter1

Void Display ();

Para que a função seja executada, usamos uma classe como um programa simples de C Sharp é declarado. Mas para a interface, o nome da classe é declarado ao longo da interface para se associar a ela.

# Classe de teste de classe: inter1

Dentro da classe, a função é escrita. Simplesmente usamos a declaração do console para exibir uma frase de amostra.

No programa principal, criaremos o objeto para a classe. Esta declaração é feita dinamicamente com o uso da 'nova' palavra -chave.

Testclass t = new testclass (); este objeto será usado para chamar a função declarada dentro da classe depois que o objeto for criado.

# t.mostrar();

Agora vamos executar o código usando um compilador MCS e mono para executar o arquivo com o .EXE Extensão.

Arquivo de $ mcs.cs
$ MONO FILE.exe

Na execução, você verá que a frase é exibida que foi declarada no interfaceand e executado em uma função separada que acessada pelo objeto no programa principal.

Exemplo 2

Ao contrário do primeiro exemplo, usaremos três métodos abstratos em uma interface. Essas funções estão relacionadas ao veículo. Cada função contém parâmetros para aceitar os valores que foram enviados da chamada de função.

Como a interface é declarada, uma classe é implementada para fazer uso de todas as funções dentro da interface. Usamos duas classes que têm dois tipos diferentes de veículos. Cada um implementando todas as três funções declaradas dentro da interface.

A primeira função relacionada à engrenagem atribuirá um novo valor de engrenagem ao anterior, aceitando o valor do parâmetro.

# Engrenagem = newgear;

A segunda função é sobre acelerar. Portanto, o valor enviado no parâmetro será adicionado ao anterior.

# Velocidade = velocidade + incremento;

Ao contrário da aceleração, a função dos freios será menos ou diminuirá o valor enviado do anterior.

# Velocidade = velocidade - decremento;

Os valores de velocidade e engrenagem serão exibidos através da função. Não é declarado na interface e é a função estática da classe.

Outra classe foi projetada para implementar a interface. Todas as abordagens para cada função são as mesmas que descrevemos para a primeira classe. Da mesma forma, a função de exibição exibirá todos os dados presentes.

Agora, é hora de declarar o programa principal para acessar cada classe através dos objetos, respectivamente. Uma amostra de classe é criada com o programa principal dentro dele. Como temos duas classes para implementar a interface (Bicycle and Bike), criaremos objetos separadamente para cada classe.

Primeiro, para a bicicleta:

# Bicycle Bicycle = new Bicycle ();

A criação de objetos será feita dinamicamente. Através deste objeto, cada função é chamada.

# Bicicleta.alteração (2);

Cada parâmetro da função contém o valor do tipo inteiro no argumento. Então cada resultante é exibido chamando a função de exibição.

Após a bicicleta, a instância da bicicleta será criada.

# Bike Bike = new Bike ();

Da mesma forma, todas as chamadas de função serão feitas através deste objeto de bicicleta.

# Bicicleta.aceleração (4);

Agora, vamos executar o código para ver como ele funciona. Durante a execução, os valores para a engrenagem e a velocidade de cada classe são exibidos separadamente, dependendo da sequência de criação e função de objetos através do objeto.

Exemplo 3

No exemplo anterior, exibimos apenas os valores diretamente no programa que são declarados na interface. Mas desta vez, calcularemos a área de um polígono tendo a função em duas formas diferentes. Vamos dar uma olhada na implementação do exemplo. Primeiro, declararemos a interface aqui.

Interface ipolygone

Void calculatearea ();

A função não contém nenhum parâmetros com ela. Isso significa que todas as variáveis ​​são definidas localmente dentro da função. Após a interface, declararemos um retângulo de classe que implementará a interface ipolygon. Então, associaremos a classe ao nome da interface.

# Classe Retângulo: Ipolygone

Dentro da classe, a função calculateareia é usado. Dentro da função, todas as variáveis ​​são atribuídas com um valor. Esses valores são então usados ​​na fórmula para calcular a área do retângulo.

# int area = l * b;

Após os cálculos, o valor resultante é exibido.

O mesmo fenômeno da implementação da interface ipolgon é feito para a forma quadrada. Mas como todos os lados do quadrado são iguais, não precisamos de comprimentos bidirecionais. Todos os lados têm igual comprimento, portanto a área será calculada multiplicando qualquer dois comprimentos um pelo outro.

# int area = l * l;

No programa principal, os objetos para ambas as classes são criados e, em seguida, a função é chamada através desses objetos.

retângulo ri = novo retângulo ();
R1.calculatearea ();

A mesma abordagem vale para a classe quadrada.

Agora execute o código, você pode ver que ambas as áreas de diferentes quadrados são mostradas chamando as funções através de seus objetos, respectivamente.

Conclusão

C interface nítida é usada para ocultar algumas informações especificadas de uma certa maneira para exibir apenas as informações que são importantes. Ao definir a interface, vimos que apenas o cabeçalho da função é descrito. A declaração do cabeçalho consiste no tipo de retorno da função e o argumento que está presente no parâmetro. Neste artigo, implementamos alguns exemplos no sistema operacional Linux. Em cada exemplo, é definida uma interface separada que contém um único ou número de interfaces descritas posteriormente em suas respectivas classes.