Ver Mensaje Individual
  #3 (permalink)  
Antiguo 30/06/2012, 20:50
alexg88
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 6 meses
Puntos: 344
Respuesta: herencia y polimorfismo de operadores .NET

Buenas,

Tu puedes crear una sobrecarga para un operador y ésta se usará para todas las clases que deriven de ellas, a no ser que definas una sobrecarga de operador para una clase concreta hija.

Código vb:
Ver original
  1. Shared Operator >(ByVal animal1 As Animal, ByVal animal2 As Animal) As Boolean
  2.         Return animal1._hambre > animal2._hambre
  3.     End Operator
  4.  
  5.     Shared Operator <(ByVal animal1 As Animal, ByVal animal2 As Animal) As Boolean
  6.         Return animal1._hambre < animal2._hambre
  7.     End Operator

Imagínate que defines estas sobrecargas, tu luego puedes hacer:

Código vb:
Ver original
  1. Dim cerdo = New Cerdo
  2.         Dim ganso = New Ganso
  3.  
  4.         cerdo.Hambre = 50
  5.         ganso.Hambre = 10
  6.  
  7.         If (cerdo > ganso) Then
  8.             Console.WriteLine("El cerdo tiene más hambre que el ganso")
  9.         Else
  10.             Console.WriteLine("El ganso tiene más hambre que el cerdo")
  11.         End If

Y puedes porque tanto Cerdo como Ganso son Animales.

Espero que eso responda a tu pregunta.

Saludos.