DE .NET, SQLSERVER Y MÁS, APRENDE CONMIGO!✔

Desarrollo de todo tipo de aplicaciones y Administración de Base de datos con Tecnología Microsoft


UNETE

Sobrecarga de Operadores

0

 


¿Qué es la sobrecarga de operadores?

La sobrecarga de operadores es una técnica para redefinir un operador incorporado. C#, con la ayuda de la sobrecarga de operadores, nos permite usar los mismos operadores integrados de diferentes maneras. Podemos construir implementaciones definidas por el usuario de varias operaciones donde uno o ambos operandos son del tipo definido por el usuario.

Reglas para la sobrecarga de operadores

Para sobrecargar un operador, debemos usar la palabra clave operator. Tenemos que usar ambos modificadores public y static en la declaración. El operador unario tendrá uno y el operador binario tendrá dos parámetros de entrada. Al menos un parámetro debe ser de tipo Type o Type? en cada caso, donde Type es el tipo que contiene la declaración del operador.

¿Podemos sobrecargar a todos los operadores?

Podemos sobrecargar la mayoría de los operadores en C#. Pero hay algunos operadores que no podemos sobrecargar y algunos que podemos con ciertas condiciones:

 

Operadores

Comentarios

+, -, !, ~, ++, --, verdadero, falso

Podemos sobrecargar estos operadores unarios.

+, -, *, /, %, &, |, ^ (OR lógico), <<, >>

Podemos sobrecargar estos operadores binarios.

==, !=, <, >, <=, >=

Podemos sobrecargar estos operadores relacionales binarios. Pero debemos sobrecargarlos en parejas. Entonces, si sobrecargamos al ==operador, también debemos sobrecargar al !=operador y viceversa. Otros pares son los operadores y y los <operadores y .><=>=

&&, ||

No podemos sobrecargar estos operadores lógicos condicionales directamente.

+=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=

No podemos sobrecargar estos operadores de asignación compuestos explícitamente. Pero si sobrecargamos un operador binario, el operador de asignación compuesto correspondiente también se sobrecargará indirectamente. Por ejemplo, el +=operador se evalúa utilizando el +operador. Entonces, si sobrecargamos el operador binario +, el +=operador se sobrecargará implícitamente.

^ (Índice del operador final), =, ., ?., ?:, ??, ??=, .., ->, =>, (), como, en espera, marcado, no marcado, predeterminado, delegado, es , nombre de, nuevo, tamaño de, stackalloc, interruptor, tipo de, con

No podemos sobrecargar estos operadores.

 

DEMOSTRACIÓN

En nuestro proyecto de consola, crearemos una clase llamada "Juguete":


En el método Main crearemos varias instancias de la clase "Juguete", colocandole sus nombres y diferentes precios.


No devolvemos a la clase y crearemos métodos dentro de ella que sobrecarguen a los Operadores MayorQue (>) y MenorQue (<)


Luego crearemos otros dos métodos que sobrecarguen a los operadores Igual (==) y Diferente (!=)


Para finalizar crearemos dos últimos métodos que sobrecarguen a los Operadores MayorIgualQue (>=) y  MenorIgualQue (<=)



De vuelta al Método Main, escribiremos en la consola el siguiente fragmento de código para que active los métodos de los operadores sobrecargados:


El resultado



Tal vez te interesen estas entradas

No hay comentarios