Advertisement
Guest User

Prototype

a guest
Oct 23rd, 2014
434
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.06 KB | None | 0 0
  1. <?php
  2.  
  3. abstract class PrototypeLibro {
  4.     protected $titulo;
  5.     protected $tema;
  6.    
  7.     abstract function __clone();
  8.    
  9.     public function set_titulo($value) { $this->titulo = $value; }
  10.     public function get_tema(){ return $this->tema; }
  11.     public function get_titulo(){ return $this->titulo; }
  12.    
  13. }
  14.  
  15. class LibroVB extends PrototypeLibro {
  16.    
  17.     public function __construct(){ $this->tema = 'Visual Basic'; }
  18.     public function __clone() {}
  19.    
  20. }
  21.  
  22. class LibroCpp extends PrototypeLibro {
  23.    
  24.     public function __construct() { $this->tema = 'C++'; }
  25.     public function __clone() {}
  26.    
  27. }
  28.  
  29. // creamos los modelos iniciales
  30. $visual = new LibroVB();
  31. $cpp = new LibroCpp();
  32.  
  33. // ahora si los queremos usar:
  34. $libroVB = clone $visual;
  35. $libroVB->set_titulo('Aprende VB6 como si estuvieras en primero');
  36.  
  37. // ahora un libro de c++
  38. $refdvcpp = clone $cpp;
  39. $refdvcpp->set_titulo('Referencias del compilador GCC');
  40.  
  41. // otro libro de vb
  42. $libromsvb = clone $visual;
  43. $libroVB->set_titulo('Referencias del lenguaje visual basic por Microsoft');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement