Ejemplo n.º 1
0
trait Trabajador
{
    protected function mensaje()
    {
        echo "Mi nombre es: ";
    }
    protected function hola()
    {
        echo "es del trabajador";
    }
}
class Persona
{
    use PersonaT, Trabajador;
    public function asignarNombre($nombre)
    {
        //$this->nombre = $nombre;
        $this->nombre = self::mensaje() . $nombre;
        //$this->nombre = $nombre;
    }
    public function Hola()
    {
        echo " Hola soy ";
    }
}
$persona = new Persona();
$persona->asignarNombre("Felipe<br>");
$persona->mostrarNombre() . $persona->Hola();
//Toma la clase Hola redefinida en clase Persona
echo $persona->nombre;
//$persona->mensaje(); // Call to protected method Persona::mensaje()
Ejemplo n.º 2
0
{
    public $nombre;
    public function mostrarNombre()
    {
        echo $this->nombre;
    }
    abstract function asignarNombre($nombre);
}
trait Trabajador
{
    public function Hola()
    {
        echo "es del Trabajador";
    }
}
class Persona
{
    use Persona2, Trabajador;
    public function asignarNombre($nombre)
    {
        $this->nombre = $nombre;
    }
    public function Hola()
    {
        echo "es de la clase";
    }
}
$persona = new Persona();
$persona->asignarNombre("Twin");
$persona->mostrarNombre();
$persona->Hola();
Ejemplo n.º 3
0
<?php

trait Persona2
{
    public $nombre;
    public function mostrarNombre()
    {
        echo $this->nombre;
    }
    abstract function asignarNombre($nombre);
}
trait Trabajador
{
    protected function mensaje()
    {
        echo " y soyun Trabajador";
    }
}
class Persona
{
    use Persona2, Trabajador;
    public function asignarNombre($nombre)
    {
        $this->nombre = self::mensaje() . $nombre;
    }
}
$persona = new Persona();
$persona->asignarNombre("Edgar");
$persona->mostrarNombre();