Portas Logicas
Uma interface contém apenas as assinaturas de métodos, Propriedades, eventos ou indexadores. Uma classe ou estrutura que implementa a interface deve implementar os membros da interface que estão especificados na definição da interface. using System; using System.Collections.Generic; using System.Linq; using System.Text;
namespace ExInterface
{
interface Ipessoa //nome da interface tem como padrao a primeira letra I (i maisculo) { int Propriedade //nome da propriedade { get; set; } void andar(); //metodo andar int corre(); //metodo correr }
}
As inteface não pode ter atributos e nos metodos não tem o modificador de acesso nem nas propriedades.
Toda interface pode herdar dados de outra interface, mas não pode herdar de uma classe. using System; using System.Collections.Generic; using System.Linq; using System.Text;
namespace ExInterface
{
interface Ialuno : Ipessoa, Ihumano //Para herdar outra interface basta colocar : mas o nome da interface. Para adicionar mais de uma so é preciso colocar virgula
{ void estudar(); }
}
A implementação nas classes não muda nada basta colocar : e o nome da interface da mesma maneira que se fosse utilizar uma herança entre classes. using System; using System.Collections.Generic; using System.Linq; using System.Text;
namespace ExInterface
{
class aluno : Ialuno { public void Ialuno.estudar () { Console.WriteLine("Implementando o metodo estudar da Interface"); } }
}
A classe deve ter todos os métodos se não o programa não ira compilar.
Polimorfismo
O Polimorfismo permite tratar de varias maneiras uma mesma ação de forma semelhante, para isso é utilizado 2 conceitos, sobrecarga e sobrescrita de métodos.
Aprenda a Programar em C, C++ e C# Abrange C# 2.0
(2ª edição