Ver Mensaje Individual
  #8 (permalink)  
Antiguo 09/09/2008, 19:15
califa010
 
Fecha de Ingreso: enero-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 299
Antigüedad: 18 años, 4 meses
Puntos: 5
Respuesta: PHP y su curiosa manera de manejar la herencia

Gracias, GatorV, buen punto, no lo había tenido en cuenta (el hábito de AS 2.0, donde private en realidad sería lo que es protected en php5, Java, C#, etc).

Volviendo al ejemplo de php, usando protected el resultado es el mismo que si se usa public (o sea, child->getClassName() devuelve "Child", no "Dad").

De todos modos, volví a hacer las mismas pruebas en Java y en C# con protected en vez de private y el resultado sigue igual que en la primera prueba (en C# hay que agregar una palabra clave en la declaración de la clase heredada (new) porque si no no compila, pero el funcionamiento es igual).

De todas formas, no es que tenga un problema en concreto, simplemente me resultó curioso. Ahora entiendo la lógica de los resultados de las pruebas, si se usa private (o sea, no se hereda), aunque todavía no me queda claro por qué sigue resolviéndose this.className en child.getClaseName() como "Child" en vez de "Dad" si los campos sin heredados (protected o public).

Saludos
Juan Pablo Califano