Conflictos en la Sobrecarga

Si ambos operandos son objetos sobrecargados pertenecientes a clases distintas se aplica el método correspondiente al primero:

  DB<1> package A; use overload '+' => 'myadd'; sub myadd { 5 }
  DB<2> package B; use overload '+' => 'myadd'; sub myadd { 9 }
  DB<3> $x = bless {}, 'A'
  DB<4> $y = bless {}, 'B'
  DB<5> p $x+$y
5
  DB<6> p $y+$x
9

Casiano Rodríguez León
Licencia de Creative Commons
Principios de Programación Imperativa, Funcional y Orientada a Objetos Una Introducción en Perl/Una Introducción a Perl
por Casiano Rodríguez León is licensed under a Creative Commons Reconocimiento 3.0 Unported License.

Permissions beyond the scope of this license may be available at http://campusvirtual.ull.es/ocw/course/view.php?id=43.
2012-06-19