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