Uma interface é parecida com uma classe abstrata, a diferença está no fato de que uma classe abstrata pode possuir alguns métodos que não sejam implementados e outros que sejam implementados.
Já a interface conta só com a “casquinha” mesmo, ou seja, possui somente métodos que não estão implementados e que devem ser implementados na classe que usar a interface.
Uma pergunta bastante comum para quem está começando a desenvolver é: “Então tá, qual a utilidade e vantagem disso?”. Mesmo dizendo aqui, a verdade é que você provavelmente só mudará sua opinião com a prática mesmo ????
As interfaces são muito utilizadas para que um projeto tenha bem claro quais são as regras de negócio que devem ser utilizadas. Por exemplo, na minha interface tenho um método “Vender”, que faz parte da realidade do negócio da minha empresa, e deverá ser implementado de acordo com o setor.
Além disso, como o C# não suporta herança múltipla, as interfaces permitem que uma classes estenda múltiplas interfaces, contornando o problema.
Importante: Uma interface no C# não pode conter atributos, somente métodos, propriedades e eventos. Todos os membros de uma interface são públicos e não podem utilizar um modificador de acesso.
A classe que implementar a interface deverá possuir a definição de TODOS os métodos existentes na interface; Esta definição deverá possuir o mesmo nome e a mesma assinatura, retorno e parâmetros que foram definidas na interface, no método da classe.
Exemplos de Interface em C Sharp
Declaração da Interface em C#
public interface IProduto
{
bool EPerecivel { get; }
Fornecedor RecuperarFornecedor();
void RegistrarVenda(Cliente cliente);
}
Implementação de Interface em C#
public class Computador : IProduto
{
private bool ePerecivel;
public bool EPerecivel
{
get { return ePerecivel; }
}
public Fornecedor RecuperarFornecedor()
{
return new Fornecedor();
}
public void RegistrarVenda(Cliente cliente)
{
// Rotina para registrar vendas
}
}
Olá, você faz programas em C? Quanto cobra por um programa?
Bárbara, eu desenvolvo em algumas linguagens, mas o que mais gosto é desenvolver para web, em C#.
É difícil dizer quanto cobrar por um programa, ainda mais sem saber nada sobre ele. Pretendo escrever um post sobre isso, mas basicamente, você deve levantar os principais pontos do desenvolvimento e estudar quantos dias/horas irá gastar no trabalho. Só assim é possível estipular um valor 🙂
Então meu professor pediu um programa para controlar as vendas e o estoque de um estabelecimento comercial pequeno, contendo: menu principal, cadastro de produtos, cadastro de vendeores, cadastro de clientes, registro de vendas e relatórios de quantidades em estoque e vendas do dia.
A loja seria uma joalheiria.
eu fiz tudo só falta a parte de mostrar as vendas do dia que eu não to conseguindo, quanto vc cobra só pra fazer essa parte?
qual livro atualizado sobre c# você indicaria.
olha, eu tenho um material bom aqui. se quiser que te mando, me passa seu e-mail.
os livros do deitel são muito bons, mas acho ‘chatos’ de serem lidos. já os da série ‘head first’, ou ‘use a cabeça’, são mais intuitivos. ainda não li os da série ‘for dummies’- ‘para leigos’, mas fiquei sabendo que são do mesmo estilo do ‘head first’.
indico começar por eles e depois utilizar o deitel como fonte de trabalho mais profundo.
mas me passa seu e-mail porque tenho um material bom da Microsoft qui 😉
Ola, tudo bem!
Trabalho com C# e a uma ano e meio.
Gostaria de aprofundar meus conhecimentos.
Pode me mandar algum material.
Grato!
Podem me passar um material sobre programação em C# bom ?!!
Grato!