c using statement c virtual method tutorial with examples
Este tutorial en profundidad explica todo acerca de C # usando instrucción y método virtual. También aprenderá la diferencia entre métodos abstractos y virtuales:
El bloque Using ayuda principalmente a administrar los recursos, permite que el sistema administre sus recursos especificando el alcance del objeto y su requerimiento de recursos.
.Net Framework ofrece diferentes formas de administración de recursos para objetos utilizando un recolector de basura. Significa que no es necesario asignar y eliminar explícitamente objetos de memoria. La operación de limpieza para cualquier objeto no administrado se manejará usando destructor.
Para ayudar a los programadores a lograr esto, la instrucción using de C # proporciona una condición para la destrucción del objeto.
=> Consulte la guía de capacitación gratuita de C # aquí .
Para lograr la autodestrucción del objeto, C # ofrece un método de eliminación al que se puede llamar cuando el objeto ya no es necesario. La declaración using en C # define un límite condicional para la existencia del objeto. Una vez que la secuencia de ejecución abandona el límite de uso, .Net framework sabrá que es hora de destruir ese objeto.
Lo que vas a aprender:
Declaración de uso de C #
Implementar una interfaz desechable para usar
La declaración Using de C # permite a los programadores implementar varios recursos en una declaración. Todos los objetos definidos dentro del bloque de código de uso deben implementar la interfaz IDisposable, y esto permite que el marco llame a los métodos de disposición para los objetos especificados dentro de la declaración una vez que se sale.
Ejemplo
Las declaraciones de uso se pueden combinar con un tipo que puede implementar IDisposable como StreamWriter, StreamReader, etc.
Echemos un vistazo a un programa simple:
jugar wow para servidor privado gratuito|_+_|
Producción
La salida del programa anterior:
Dentro de la declaración de uso
Método de eliminación
Fuera del bloque de instrucciones de uso
Explicación
En el ejemplo anterior, cuando se ejecuta el programa, primero se asigna la instancia 'SysObj' en el montón de memoria. Luego, el bloque using comienza a ejecutarse e imprime la salida que definimos dentro de la consola. A continuación, cuando finaliza el bloque de instrucciones Using, la ejecución se transfiere inmediatamente al método dispose.
Luego, el código sale del bloque de instrucciones e imprime la instrucción externa en la consola.
Método virtual C #
¿Qué es un método virtual?
Un método virtual es un método de clase que ofrece funcionalidad al programador para anular un método en la clase derivada que tiene la misma firma. Los métodos virtuales se utilizan principalmente para realizar polimorfismos en el entorno de POO.
Un método virtual puede tener una implementación tanto en clases derivadas como básicas. Se usa principalmente cuando un usuario necesita tener más funcionalidad en la clase derivada.
Un método virtual se crea primero en una clase base y luego se reemplaza en la clase derivada. Se puede crear un método virtual en la clase base utilizando la palabra clave 'virtual' y el mismo método se puede anular en la clase derivada utilizando la palabra clave 'anular'.
Métodos virtuales: algunos puntos para recordar
- El método virtual de la clase derivada tiene la palabra clave virtual y el método de la clase derivada debe tener una palabra clave de anulación.
- Si un método se declara como un método virtual en la clase base, entonces la clase derivada no siempre requiere anular ese método, es decir, es opcional anular un método virtual en la clase derivada.
- Si un método tiene la misma definición tanto en la clase base como en la derivada, no es necesario anular el método. La anulación solo es necesaria si ambos tienen una definición diferente.
- El método primordial nos permite usar más de una forma para el mismo método, por lo que también muestra polimorfismo.
- Todos los métodos son no virtuales de forma predeterminada.
- Un modificador virtual no se puede usar junto con modificadores Privado, Estático o Abstracto.
¿Cuál es el uso de la palabra clave virtual en C #?
La palabra clave virtual en C # se usa para anular el miembro de la clase base en su clase derivada según el requisito.
diferencia entre sql y sql server
Se utiliza una palabra clave virtual para especificar el método virtual en la clase base y el método con la misma firma que necesita ser reemplazado en la clase derivada está precedido por la palabra clave override.
Diferencia entre método abstracto y método virtual
Los métodos virtuales contienen implementación y permiten que la clase derivada la anule, mientras que el método abstracto no ofrece ninguna implementación y obliga a los programadores a escribir métodos de anulación en la clase derivada.
Por lo tanto, en palabras simples, los métodos abstractos no tienen ningún código dentro de ellos, mientras que el método virtual tiene su propia implementación.
Diferencia entre virtual y anulación en C #
La palabra clave virtual suele ir seguida de la firma del método, propiedad, etc. y permite que se anule en la clase derivada. La palabra clave override se usa en la clase derivada con la misma firma de método / propiedad que en la clase base para lograr la invalidación en la clase derivada.
¿Es obligatorio anular el método virtual en C #?
El compilador nunca obligará a los programadores a anular un método virtual. No siempre es necesario que la clase derivada anule el método virtual.
Ejemplo
Echemos un vistazo a un ejemplo para comprender más claramente los métodos virtuales.
En este ejemplo, utilizaremos dos métodos diferentes en la clase base, el primero es un método no virtual y el otro es un método virtual con la palabra clave virtual. Ambos métodos se anularán en la clase derivada.
Dejanos darle un vistazo:
Programa
|_+_|Producción
El resultado del programa anterior es:
Este es el método de suma en la clase derivada
Este es el método de suma
Esta es la anulación del método de resta en la clase derivada
Esta es la anulación del método de resta en la clase derivada
Explicación
En el ejemplo anterior, tenemos dos clases, es decir, Número y Calcular. La clase base Número tiene dos métodos, es decir, suma y resta, donde la suma es un método no virtual y la resta es un método virtual. Por lo tanto, cuando ejecutamos este programa, la 'adición' del método virtual de la clase base se anula en la clase derivada Calculate.
herramientas de prueba de navegador cruzado de código abierto
En otra clase “Programa” creamos un punto de entrada para crear una instancia de la clase derivada Calculate y luego asignamos la misma instancia al objeto de instancia de la clase base.
Cuando llamamos a los métodos virtuales y no virtuales utilizando las instancias de clase, vemos que el método virtual se anuló al utilizar ambas instancias, mientras que el método no virtual se anuló solo al llamar a la clase derivada.
Conclusión
La instrucción using en C # se usa principalmente para la administración de recursos. La declaración using define un límite condicional para la existencia de un objeto.
Una vez que la ejecución sale del bloque de instrucciones, le dice al marco que destruya cualquier objeto que se haya creado dentro del bloque de instrucciones. El código definido dentro de la declaración también debe implementar una interfaz IDisposable para permitir que .Net framework llame al método dispose para los objetos definidos.
Un método virtual permite al usuario anular un método en la clase derivada que tiene la misma firma que el método en la clase base. El método virtual se puede utilizar para lograr polimorfismo en lenguajes de programación orientados a objetos.
Un método virtual se usa principalmente cuando se requiere funcionalidad adicional en la clase derivada. Los métodos virtuales no pueden ser estáticos privados o abstractos. Se define mediante el uso de una palabra clave virtual en la clase base y una palabra clave de reemplazo en la clase derivada.
=> Vea los tutoriales de formación detallados de C # aquí
Lectura recomendada
- Tutorial de Python DateTime con ejemplos
- Tutorial de búsqueda de elementos por texto de selenio con ejemplos
- Método MongoDB Sort () con ejemplos
- Documento de consulta de MongoDB con el método Find () (ejemplos)
- Uso del cursor en MongoDB con ejemplos
- Clases y objetos de C #: un tutorial detallado con ejemplos
- Tutorial de secuencias de comandos de shell de Unix con ejemplos
- Tutorial de manejo de excepciones de C # con ejemplos de código