fork(4) download
  1. <?php
  2.  
  3. class Cliente {
  4. private $nome;
  5.  
  6. public function __construct($nome) {
  7. $this->nome = $nome;
  8. }
  9.  
  10. public function getNome(){
  11. return $this->nome;
  12. }
  13.  
  14. public function __toString() {
  15. return $this->nome;
  16. }
  17. }
  18.  
  19. abstract class Animal {
  20. protected $nome;
  21. protected $dono;
  22.  
  23. public function __construct($nome, $dono) {
  24. $this->nome = $nome;
  25. $this->dono = $dono;
  26. }
  27.  
  28. public function getDono() {
  29. return $this->dono;
  30. }
  31. }
  32.  
  33. class Cachorro extends Animal {
  34.  
  35. public function __construct($nome, $dono) {
  36. parent::__construct($nome, $dono);
  37. }
  38. }
  39.  
  40. $ana = new Cliente('ana');
  41. $dog = new Cachorro('Rex', $ana);
  42. echo "Dono: " . $dog->getDono();
  43. echo "\nNome do dono: " . $dog->getDono()->getNome();
Success #stdin #stdout 0.01s 20568KB
stdin
Standard input is empty
stdout
Dono: ana
Nome do dono: ana