Sobrecarga del operador
Para comprender el concepto de sobrecargar un operador, vamos a implementar el operador más básico y comúnmente sobrecargado que utilizamos, el operador "+". Normalmente, el operador "+" se usa para agregar dos números. Pero si lo escribimos entre una cadena y un número, los concatenará a los dos. Este es un buen ejemplo de sobrecarga de un operador unario.
En el programa C# anterior, demostramos una función simple en la que usamos el operador "+" para agregar 2 números en la primera línea, y luego en la segunda línea, usamos el mismo operador para agregar una cadena y un número juntos esto El resultado de la palabra en la concatenación de la cadena y un número a medida que estamos sobrecargando el operador para hacerlo.
La salida del programa anterior muestra la naturaleza dual del operador "+"; En la primera operación, simplemente está agregando dos números para el resultado como 4, pero en la otra operación, el operador "+" está actuando como agente de concatenar una cadena a un número, ya que está predefinido en la programación C# idioma.
Ahora analizaremos algunos ejemplos con respecto a la sobrecarga de un operador en el que utilizaremos la palabra clave "operador" para establecerla como la sobrecarga de un determinado operador.
Ejemplo 01: sobrecarga del operador "-" en Ubuntu 20.04
En este ejemplo, nos centraremos en la extensa sobrecarga de un operador a través de la herencia de los métodos de sobrecarga. En este caso, el operador "-" se sobrecargará. El valor de una variable entera se asignará al operador "-"; Sin embargo, la operación típica del "-" se alterará sobrecargando. Usaremos álgebra para traducir el operador "-" en un letrero que se puede dar a un número.
En el ejemplo anterior, tenemos dos variables enteros y sustituimos sus valores otros dos enteros. Luego creamos la función de sobrecarga con la ayuda de la palabra clave "operador" en la que se redefinió la operación convencional del operador "-". Luego llamamos al operador sobrecargado en el programa principal para ver la diferencia entre el operador normal y sobrecargado. Después de compilar y ejecutar el programa anterior, obtendremos el siguiente resultado:
Como podemos ver que el operador ahora está sobrecargado, y la función predefinida del método sobrecargado se lleva a cabo en la última llamada.
Ejemplo 02: sobrecarga del operador "+" en Ubuntu 20.04
Como discutimos anteriormente, el operador "+" está sobrecargado y puede realizar múltiples operaciones, pero aún se puede sobrecargar a través de métodos y herencia de objetos de clase. En este ejemplo, sobrecargaremos el operador "+" en el que haremos el operador "+" para agregar dos objetos de una clase en lugar de números que es la función predefinida del operador "+". El operador "+" se sobrecargará utilizando el método de palabras clave "Operador".
En este programa C#, crearemos un método para sobrecargar el operador "+". Primero, crearemos una clase y llamaremos a su objeto en el método de sobrecarga. Estos objetos se utilizarán para definir la funcionalidad del operador "+", que está agregando dos objetos a una clase con la ayuda del operador "+". Entonces se creará el método de visualización, que mostrará el objeto "NUM". En el programa principal, crearemos nuevos objetos y asignaremos valores a las clases y luego usaremos el operador "+" sobrecargado para agregar dos objetos entre sí. Después de compilar el programa anterior, obtendremos la salida como se muestra a continuación:
Los valores del objeto de la clase se muestran en la salida, que son "5" y "10", y la suma de estos objetos es "15", lo que indica que ahora hemos sobrecargado el operador "+" para agregar dos objetos del Clase y suma por resultado, al igual que agregar dos enteros normalmente.
Ejemplo 03: sobrecarga del operador "*" en Ubuntu 20.04
El método para sobrecargar el operador "*" se discutirá en este ejemplo. La palabra clave del operador se utilizará para proporcionar un método de sobrecarga para el operador "*". El trabajo fundamental del operador "*" es multiplicar dos enteros, pero en este ejemplo, lo sobrecargamos definiendo para multiplicar dos objetos de una clase y tratarlos como dos números.
Hemos creado un método público en el que hemos asignado un entero a un objeto. Luego creamos un método público para sobrecargar el operador "*" utilizando la palabra clave del operador antes del símbolo y los parámetros. Los parámetros de esta función son los objetos de la clase anterior; Por lo tanto, está heredando la entidad de clase anterior, que luego se multiplica entre sí en un nuevo objeto, y este objeto se devolverá de este método. En la función principal, crearemos tres objetos nuevos y asignaremos a dos de ellos algunos valores en el parámetro. Entonces estos objetos se multiplicarán utilizando el operador sobrecargado, y el resultado se mostrará en la pantalla de salida de cómo. Después de compilar y ejecutar con éxito el programa anterior, obtendrá el siguiente resultado, como se muestra en el fragmento:
Como podemos ver que los dos primeros números se muestran utilizando la función de visualización, que devuelve los objetos de la clase de examen. Luego tenemos el valor resultante de la multiplicación de estos dos objetos que es "50", aunque el operador "*" solo toma el producto de dos números debido a nuestra sobrecarga, el operador también multiplicó con éxito dos objetos también.
Ejemplo 04: sobrecargar el operador de igualdad en Ubuntu 20.04
Ahora estaremos sobrecargando el operador de igualdad en el lenguaje de programación de C#. En este ejemplo, el operador de igualdad se utilizará para comparar objetos de una clase en lugar de su función normal para asignar valores a variables. Los valores del objeto serán los mismos en este escenario, pero para diferenciar, usaremos una referencia diferente y veremos la diferencia en el resultado de esta operación.
Construiremos un "examen" de clase en el programa C# mencionado anteriormente e inicializaremos ciertas variables en él, que usaremos en la función intrínseca "Display ()",. Después de eso, daremos números equivalentes a dos objetos de la clase de "examen" y los compararemos entre sí ya que el tercer elemento se remitió desde el segundo, lo que resultó en un resultado igual. En el ubuntu 20.04 Terminal de línea de comandos, probaremos esta característica ejecutando la aplicación mencionada anteriormente.
Como podemos ver que la primera comparación no fue un éxito, pero la segunda fue porque tenían la misma referencia.
Conclusión
En este artículo, hemos discutido el concepto básico de sobrecarga del operador. El lenguaje de programación de C# permite el concepto de carga del operador e incluso ya lo ha adaptado con respecto al operador "+", que agrega números y también concatena cadenas. Los operadores sobrecargables fueron discutidos e implementados en el Ubuntu 20.04 entorno para comprender mejor cómo se crean los métodos de sobrecarga.