Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/04/2014, 08:13
Avatar de dashtrash
dashtrash
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, 7 meses
Puntos: 270
Respuesta: en php existe Conversión hacia abajo (casting de objetos)

En php no existe "casting" de objetos , porque no es tipado.Existe casting de tipos simples.
Puedes hacer pasar una clase base por una derivada? Claro.Que puedes acabar llamando a métodos no existentes, y te lanzará un error? Claro..en tiempo de ejecución.
Es más, puedes hacer esto:
Código PHP:
Ver original
  1. $a=1;
  2. echo $a->b;
No tiene sentido, pero PHP lo va a intentar ejecutar igualmente.No existe comprobación de tipos.

Java o C++ te darían un error o un warning *en tiempo de compilacion* (no de ejecución), a menos que no asegures que es eso lo que quieres hacer.
Eso es lo que es "soportar" casting de clases base a clases derivadas.En PHP puedes hacerlo, lo cual no significa que lo "soporte", exactamente.