Ver Mensaje Individual
  #4 (permalink)  
Antiguo 02/08/2010, 11:40
Avatar de _ssx
_ssx
 
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 21 años
Puntos: 60
Respuesta: Una Clase dentro de otra Clase. Ayuda



Ya se ha discutido varias veces NO hacer herencia por reutilizar código, para que la herencia tenga sentido debe de poder decirse que el objeto que hereda "es un" objeto del que va a heredar por ejemplo.

Código PHP:
class Proceso extends Empleado{} 
¿Un proceso es un empleado?

Código PHP:
class MySQL extends BasedeDatos{} 
¿Un Mysql es una BasedeDatos?


Creo que aqui es donde puedes ver que más allá de una generalización Lo que estas buscando es una composición donde preguntas "Tiene un"

Creo que dependiendo del contexto de tu problema puede ser que el "objeto" proceso pueda ser un atributo del empleado o tu proceso puede "tener un contenedor de empleados dentro".

No obstante más allá de la reutilización de funciones creo que deberías de cambiar el planteamiento a programación orientada a objetos por delegación de responsabilidades.

Ejemplo de composición.

Código PHP:
class Empleado{
     private 
$_proceso;
     public function 
__construct(){
            
//Aqui podrias enviarle al objeto proceso los datos del usuario a través del constructor
            
$this->_proceso = new Proceso($this);
     }
     public function 
getAlgoqueUseProceso(){
           return 
$this->_proceso->get_isss_empleado();
     }

__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador

Última edición por _ssx; 02/08/2010 a las 11:46 Razón: Agregada función ejemplo