Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 20706|Respuesta: 0

[Fuente] C# Diferencia entre clases abstractas e interfaces

[Copiar enlace]
Publicado en 21/6/2016 11:34:25 | | |
Clases abstractas e interfaces
    Similitudes:
    (1) puede ser heredado
    (2) no puede ser instanciada
    (3) puede contener declaraciones de método
    (4) La clase derivada debe implementar el método no implementado
    Categoría:
    (1) Las clases base abstractas pueden definir campos, propiedades e implementaciones de métodos. Las interfaces solo pueden definir atributos, indexadores, eventos y declaraciones de métodos, y no pueden contener campos.
    (2) Una clase abstracta es una clase incompleta que necesita un refinamiento adicional, mientras que una interfaz es una norma conductual. Las interfaces personalizadas de Microsoft siempre vienen con un campo capaz para demostrar que son expresiones del "Puedo hacerlo..." ”
    (3) Las interfaces pueden implementarse varias veces, y las clases abstractas solo pueden ser heredadas por una sola persona
    (4) Las clases abstractas están más definidas entre una serie de clases estrechamente relacionadas, mientras que la mayoría de las interfaces son clases vagamente relacionadas que implementan una función determinada
    (5) Las clases abstractas son conceptos abstraídos de una serie de objetos relacionados, por lo que reflejan la común internidad de las cosas; Una interfaz es una convención funcional definida para satisfacer llamadas externas, por lo que refleja las características externas de las cosas
    (6) La interfaz básicamente no tiene características específicas de herencia, solo promete métodos que pueden llamarse   
    (7) Las interfaces pueden usarse para soportar callbacks, pero la herencia no tiene esta característica
    (8) Los métodos específicos implementados por las clases abstractas son virtuales por defecto, pero los métodos de interfaz en la clase que implementan la interfaz no son virtuales por defecto, por supuesto, también puedes declararlos virtuales
    (9) Si una clase abstracta implementa una interfaz, el método en la interfaz puede mapearse a la clase abstracta como un método abstracto sin necesidad de implementarlo, y el método en la interfaz puede implementarse en una subclase de la clase abstracta








Anterior:Se ha producido el error de sistema 5. Se denega el acceso.
Próximo:El proveedor 'Microsoft.Jet.OleDb.4.0' no está registrado en la máquina local.
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com