Last active
July 1, 2016 16:17
-
-
Save nietzscheson/7040da3be774bcba3b1bcbaaf3f3f678 to your computer and use it in GitHub Desktop.
Polimorfism example in PHP
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
interface IVehiculo | |
{ | |
public function setName($name); | |
public function getName(); | |
} | |
abstract class Vehiculo implements IVehiculo | |
{ | |
private $name; | |
public function setName($name){ | |
$this->name = $name; | |
} | |
public function getName(){ | |
return $this->name; | |
} | |
} | |
class Autobus extends Vehiculo{} | |
class Moto extends Vehiculo{} | |
class Game | |
{ | |
public $vehiculo; | |
public function estacionar(IVehiculo $vehiculo) | |
{ | |
return $vehiculo->getName(); | |
} | |
} | |
$game = new Game(); | |
$autobus = new Autobus(); | |
$autobus->setName('Autobus'); | |
$moto = new Moto(); | |
$moto->setName('Moto'); | |
echo $game->estacionar($autobus).'<br/>'; | |
echo $game->estacionar($moto); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment