Cita:
Iniciado por hhs Claro que se puede:
Código PHP:
Ver originalclass A {
public function ejecutar(){
echo 'Instanciado dentro de B';
}
}
class B {
private $a;
public function __construct(){
$this->a = new A();
}
public function ejecutarA(){
$this->a->ejecutar();
}
}
Puedes instanciar en el constructor o los métodos de la clase. Pero generalmente no se aconseja hacerlo, ya que esta practica oculta dependencias y rompe con la encapsulación. Además de que hay otras formas de manejar la creación de objetos y reducir el acoplamiento
tu me dices que esta es una forma
class B {
private $a;
public function __construct(){
$this->a = new A();
}
public function ejecutarA(){
$this->a->ejecutar();
}
}
si te fijas llamo a la clase asi $this->a = new A();
pero porque, si es tan fácil llamar a una clase adentro de un método entonces
no necesito esto de herencia
public class Herencia extends ClaseHeredada{
}
según entiendo, esto es lo que me confunde, ya que podemos estar llamandolas desde cualquier método sin necesitar de la palabra extends o etc en la clase