Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Consulta de herencia en PHP5

Estas en el tema de Consulta de herencia en PHP5 en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Tengo el sgte codigo: <?php error_reporting( E_ALL ); class MyClass { const CONST_VALUE = 'Un valor constante'; public static $estatica ='estatica'; } //$classname = 'MyClass'; ...
  #1 (permalink)  
Antiguo 20/09/2012, 14:30
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 41
Antigüedad: 13 años, 5 meses
Puntos: 2
Consulta de herencia en PHP5

Tengo el sgte codigo:

<?php

error_reporting( E_ALL );
class MyClass {

const CONST_VALUE = 'Un valor constante';
public static $estatica ='estatica';
}

//$classname = 'MyClass';
//echo $classname::CONST_VALUE;

echo MyClass::CONST_VALUE;
?>


<?php
class OtherClass extends MyClass
{
public static $my_static = 'variable estática';

public static function doubleColon() {
echo parent::CONST_VALUE . "\n";
echo self::$my_static . "\n";
}

}

//$classname = 'OtherClass';
//echo $classname::doubleColon(); // A partir de PHP 5.3.0

OtherClass::doubleColon();
?>


En la siguiente linea: echo parent::CONST_VALUE . "\n"; ......no conviene hacer self::CONST_VALUE . "\n";? probe las 2 formas y ambas me dan el resultado pero quiero saber cual es la correcta, es que no entiendo para que usa parent si la propiedad constante ya esta heredada. (es un ejemplo de manual de php.net)
Gracias, Saludos
  #2 (permalink)  
Antiguo 20/09/2012, 15:34
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Consulta de herencia en PHP5

Ahora te resulta igual el valor que obtienes, pero piensa que si defines la constante en tu nueva clase, al usar self devolverá el valor de dicha clase y no la del parent.

Ambas son correctas, simplemente debes hacer ejercicio de reflexión.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: class, herencia, php, php5, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:41.