• HomePagina Inicial
  • Blog Mis cosillas
  • Portfolio Mis trabajos
  • Acerca deeste blog y su autor
    • Sobre Mi 
    • Oridoki 
  • ContactarFormulario
  • Categorias

    • Blog
      • Control de Versiones
        • GIT
      • Diseño
      • Frameworks
        • CakePHP
        • CodeIgniter
      • JavaScript
        • EXT JS
        • JQuery
      • Magento
      • Maquetación
        • CSS
        • HTML
      • MiniCodes
      • MySQL
      • PHP
      • Proyectos
      • TextMate
      • Varios
      • Wordpress
    • Portfolio

PHP 5.4 – Traits

Posted by Adrià Cidre Categories: Blog, PHP

Gracias a ‘supu’ por la explicación detallada :-)

“La herencia múltiple tiene un problema de ambigüedad a referenciar a métodos o atributos que se llaman igual en diferentes padres.

Es lo que se hacía antes con una interfaces y patrón representante.

A ver cuando hacen herencia múltiple de verdad…”

supu; }
public function whoYouAre() { return $this->supu; }
}
class B implements I {
private $supu = "B";
public function whoIam() { return $this->supu; }
public function whoYouAre() { return $this->supu; }
}
class C extends A implements I {
private $b_instance = new B();
public function whoYouAre() {
return $this->b_instance->whoYouAre();
}
}

// herencia multiple con el parche de los trait
trait A {
public function whoIam() { return "A"; }
public function whoYouAre() { return "A"; }
}

trait B {
public function whoIam() { return "B"; }
public function whoYouAre() { return "B"; }
}

class C {
use A, B {
A::whoIAm insteadof B;
B::whoYouAre insteadof A;
}
}

?>

Share This Post!

Subscribe to our RSS feed. Tweet this! StumbleUpon Reddit Digg This! Bookmark on Delicious Share on Facebook

Deja un comentario Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Search our website

  • Inicio
  • Blog
  • Consultor Web
  • Contactar
  • E-Commerce
  • Oridoki
  • Outsourcing
  • Portfolio
  • Sobre Mi
  • Social Media
© Adrià  Cidre Jugo - 2011