Red de conocimientos turísticos - Conocimiento turístico - Tres formas de implementación polimórfica

Tres formas de implementación polimórfica

Las tres formas de implementación polimórfica son métodos virtuales, clases abstractas e interfaces.

1. Los métodos virtuales pueden dar una implementación a los métodos de la clase principal. Los métodos virtuales deben tener una parte de implementación, incluso si es una implementación vacía. Varios puntos a tener en cuenta sobre los métodos virtuales: si hay un método en la clase principal que debe ser anulado por la subclase, se puede marcar como virtual; los métodos virtuales deben implementarse en la clase principal, incluso si están vacías; de métodos virtuales Puede o no reescribirse.

2. Las clases abstractas son polimórficas. En términos generales, no se puede crear una instancia de una clase que solo habla pero no hace nada. En primer lugar, no se pueden crear instancias de clases abstractas y las clases abstractas pueden tener miembros ordinarios.

La importancia de la existencia de clases abstractas: las clases abstractas no pueden crear instancias y solo pueden ser heredadas por otras clases. Las subclases de una clase abstracta deben anular (implementar) todos los miembros abstractos de la clase abstracta (a menos que la subclase también sea una clase abstracta). ) Las clases abstractas están diseñadas para anular el polimorfismo (reutilización de código). Las clases abstractas pueden tener miembros de instancia y miembros abstractos.

3. La interfaz es una especificación. Puede escribir código universal aceptando cumplir con una determinada especificación. Define un conjunto de métodos con varias funciones. El derecho puede entenderse como una interfaz. Cualquiera que quiera vivir en China debe cumplir con las leyes chinas, lo que significa que cualquiera que quiera vivir en China debe comprender la interfaz legal.

Los miembros de la interfaz no se pueden implementar, los miembros de la interfaz no pueden tener modificadores de acceso y las interfaces expuestas implícitamente pueden tener propiedades, métodos, indexadores, etc. , pero no pueden tener campos y todos los procedimientos de la interfaz deben implementarse completamente en subclases.