Skip to content

Instantly share code, notes, and snippets.

@nietzscheson
Last active July 1, 2016 16:17
Show Gist options
  • Save nietzscheson/7040da3be774bcba3b1bcbaaf3f3f678 to your computer and use it in GitHub Desktop.
Save nietzscheson/7040da3be774bcba3b1bcbaaf3f3f678 to your computer and use it in GitHub Desktop.
Polimorfism example in PHP
<?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