ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Sobrecarga C#


Enviado por   •  11 de Junio de 2014  •  325 Palabras (2 Páginas)  •  349 Visitas

Página 1 de 2

La sobrecarga de operadores permite utilizar implementaciones de operadores definidas por el usuario en operaciones en las que al menos uno de los operandos es de un tipo estructura o clase definido por el usuario. Este tutorial contiene dos ejemplos. El primer ejemplo muestra cómo utilizar la sobrecarga de operadores para crear una clase de números complejos que define la suma compleja. El segundo ejemplo muestra cómo utilizar la sobrecarga de operadores para implementar un tipo lógico de tres valores.

Ejemplo 1

Este ejemplo muestra cómo utilizar la sobrecarga de operadores para crear una clase de números complejos Complex que define la suma compleja. El programa muestra las partes real e imaginaria de los números y el resultado de la suma mediante un método sustituto del método ToString.

Operadores Posibilidad de sobrecarga

+, -, !, ~, ++, --, true, false

Estos operadores unarios sí se pueden sobrecargar.

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

Estos operadores binarios sí se pueden sobrecargar.

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

Los operadores de comparación se pueden sobrecargar (pero vea la nota que aparece a continuación de esta tabla).

&&, ||

Los operadores lógicos condicionales no se pueden sobrecargar, pero se evalúan mediante & y | , los cuales sí se pueden sobrecargar.

Si se sobrecargan los operadores de comparación, dicha sobrecarga debe realizarse en parejas; es decir, si se sobrecarga ==, también se debe sobrecargar !=. Lo contrario también es cierto y similar para < y >, y para <= y >=.

Sobrecargar un operador en una clase personalizada requiere la creación de un método en la clase con la firma correcta. El método se debe denominar "operador X", donde X es el nombre o símbolo del operador que se va a sobrecargar. Los operadores unarios tienen un parámetro y los operadores binarios tienen dos. En cada caso, un parámetro debe tener el mismo tipo que la clase o struct que declara el operador, como se muestra en el siguiente ejemplo:

C#

public static Complex operator +(Complex c1, Complex c2)

...

Descargar como (para miembros actualizados)  txt (2 Kb)  
Leer 1 página más »
Disponible sólo en Clubensayos.com