mirror of
https://github.com/php/presentations.git
synced 2026-03-24 23:52:18 +01:00
40 lines
628 B
PHP
40 lines
628 B
PHP
<?php
|
|
interface pump {
|
|
function get_gas();
|
|
}
|
|
|
|
class premium implements pump {
|
|
function get_gas() {
|
|
echo "chug..chug..chug!\n<br />\n";
|
|
}
|
|
}
|
|
|
|
class regular implements pump {
|
|
function get_gas() {
|
|
echo "chug..cough..chug..\n<br />\n";
|
|
}
|
|
}
|
|
|
|
class mercedes {
|
|
function infuse_gas(premium $pump) {
|
|
echo "mercedes: ";
|
|
$pump->get_gas();
|
|
}
|
|
}
|
|
|
|
class pinto {
|
|
function infuse_gas(pump $pump) {
|
|
echo "pinto: ";
|
|
$pump->get_gas();
|
|
}
|
|
}
|
|
|
|
$pinto = new pinto;
|
|
$pinto->infuse_gas(new premium);
|
|
$pinto->infuse_gas(new regular);
|
|
|
|
$mercedes = new mercedes;
|
|
$mercedes->infuse_gas(new premium);
|
|
$mercedes->infuse_gas(new regular);
|
|
?>
|