C # clases abstractas y métodos virtuales

Clases abstractas y métodos abstractos:
1. Las clases modificadas con la palabra clave abstract se denominan clases abstractas
2. Las clases abstractas solo usan el comportamiento de una clase y no pueden usarse creando objetos solos. Usar new es incorrecto.
3 La clase abstracta puede tener métodos abstractos o no métodos abstractos
4. La clase abstracta no puede ser estática o sellada

El concepto y los puntos de uso de los métodos abstractos:
1. Usar métodos modificados abstractos en clases abstractas, llamados métodos abstractos
2. Los métodos abstractos deben definirse en clases abstractas y no pueden usarse en clases ordinarias
3. Los métodos abstractos solo pueden ser declarar un método, no puede haber ningún método de los mismos.
4. un método meramente representa un comportamiento resumen debe tener una implementación específica implementada por las subclases.
el método se implementa en las subclases abstractas (anular) debe utilizar la palabra clave override .
Todos los métodos abstractos de la clase padre 6. subclase tendrá prioridad, a menos que la subclase es en sí misma una clase abstracta.


Polimorfismo: los
diferentes objetos que reciben el mismo mensaje y producen diferentes comportamientos se denominan polimorfismos.

Utilice la herencia para lograr el polimorfismo:
debe haber métodos abstractos o métodos virtuales en la
clase primaria . Las subclases deben anular los métodos abstractos o métodos virtuales
en la clase primaria . Los objetos de la subclase deben convertirse en objetos de clase primaria para usar.

LSP: Principio de reemplazo de Li:
1. Los objetos de subclase pueden reemplazar sus clases primarias
2. Los objetos de clase primaria no pueden reemplazar subclases
3. Los métodos de clase primaria deben implementarse o reescribirse en subclases.

es y como operadores:
es, comprueba si el objeto es compatible con el tipo especificado, y el programa se interrumpe si la conversión falla,
ya que se utiliza para realizar la conversión entre tipos de referencia compatibles, y devuelve nulo si la conversión falla.

El método abstracto es solo una declaración, sin ningún contenido de implementación.
Los métodos abstractos deben reescribirse en subclases antes de que tengan valor de uso.

Para el método abstracto:
si necesita proporcionar un método en la clase principal, el método tiene su propio cuerpo de método, y la subclase decide si reescribe el método de acuerdo con sus propias necesidades, en lugar de tener que reescribirlo.

El método de la clase primaria se define como: virtual, la subclase puede reescribirse o no. El
método virtual puede ser polimórfico como el método abstracto. Cuando la
subclase no reescribe el método virtual, llame directamente al método virtual de la clase primaria.

Constructor, utilizado para la inicialización durante la creación de objetos.

Equals admite la igualdad de referencia de forma predeterminada, si desea que los objetos sean iguales, anule Equals

Los métodos virtuales y los métodos abstractos
están decorados con virtual . Para tener un cuerpo de método, incluso si es un punto y coma, puede ser anulado por subclases. Excepto para las clases selladas, puede escribir
modificadores abstractos. Los cuerpos de métodos no están permitidos. Deben ser anulados por subclases. Clase.

Acerca del método virtual Equals ():
para los tipos de cadena y valor pueden comparar automáticamente si son iguales.
Para la comparación de objetos debe reescribirse para que tenga sentido.

Acerca del método virtual ToString (): de
forma predeterminada, se devuelve el nombre de tipo totalmente calificado del objeto, que puede reescribirse según sea necesario.
Para el tipo de valor, debido al método reescrito, se devuelve la representación de cadena del valor de la variable.

 

Supongo que te gusta

Origin www.cnblogs.com/sunliyuan/p/12687999.html
Recomendado
Clasificación