Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 20706|Resposta: 0

[Fonte] C# Diferença entre classes abstratas e interfaces

[Copiar link]
Publicado em 21/06/2016 11:34:25 | | |
Classes abstratas e interfaces
    Semelhanças:
    (1) pode ser herdado
    (2) não pode ser instanciado
    (3) pode conter declarações de método
    (4) A classe derivada deve implementar o método não implementado
    Categoria:
    (1) Classes base abstratas podem definir campos, propriedades e implementações de métodos. Interfaces só podem definir atributos, indexadores, eventos e declarações de métodos, e não podem conter campos.
    (2) Uma classe abstrata é uma classe incompleta que precisa de mais refinamento, enquanto uma interface é uma norma comportamental. As interfaces personalizadas da Microsoft sempre vêm com um campo capaz de provar que são expressões do "Eu consigo..." ”
    (3) Interfaces podem ser implementadas várias vezes, e classes abstratas só podem ser herdadas por uma única pessoa
    (4) Classes abstratas são mais definidas entre uma série de classes intimamente relacionadas, enquanto a maioria das interfaces são classes vagamente relacionadas que implementam uma certa função
    (5) Classes abstratas são conceitos abstratos de uma série de objetos relacionados, então refletem a comunalidade interna das coisas; Uma interface é uma convenção funcional definida para satisfazer chamadas externas, então reflete as características externas das coisas
    (6) A interface basicamente não possui características específicas de herança, ela apenas promete métodos que podem ser chamados   
    (7) Interfaces podem ser usadas para suportar callbacks, mas a herança não possui esse recurso
    (8) Os métodos específicos implementados por classes abstratas são virtuais por padrão, mas os métodos de interface na classe que implementam a interface são não virtuais por padrão, claro, você também pode declará-los virtuais
    (9) Se uma classe abstrata implementar uma interface, o método na interface pode ser mapeado para a classe abstrata como um método abstrato sem precisar implementá-lo, e o método na interface pode ser implementado em uma subclasse da classe abstrata








Anterior:O erro de sistema 5 ocorreu. O acesso é negado.
Próximo:O provedor 'Microsoft.Jet.OleDb.4.0' não está registrado na máquina local.
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com