04/03/2013, 16:53
|
| Colaborador | | Fecha de Ingreso: abril-2007 Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 8 meses Puntos: 270 | |
Respuesta: Sobrecarga en PHP POO Sobrecarga es un tipo especial de polimorfismo, aplicado a operadores.PHP no soporta polimorfismo (ni sobrecarga) ya que es un lenguaje no tipado.
Supón que tienes un método Pagar() en una clase, y quieres poder pagar con monedas, con tarjeta, o con un cheque.Éste sería un caso válido para hacer versiones polimórficas de Pagar(Monedas monedas){} .. Pagar(Cheque cheque).. etc.
En PHP, este comportamiento lo construyes definiendo un solo método Pagar($medio), y haciendo is_a , get_class(), etc, para determinar el tipo del objeto que han pasado como parámetro, y derivar al método (privado) correspondiente (Pagar_cheque, Pagar_tarjeta, etc)
Por otro lado, hay que, aunque PHP no permite al programador sobrecargar operadores, el operador '+' funciona con diferentes tipos de datos (números, arrays), en algo muy parecido a lo que sería una sobrecarga de operador típica. |