OOP Interface
Help pls. Átolvastam 2 könyvet, php manuált nézegettem, de ennek az interfacenek nem látom a lényegét. Ha valaki eltudná magyarázni, és példával illusztrálni, hogy hogyan megköszönném.
Nézegettem néhány példát. Íme:De ahogy néztem ez tökéletesen működik ígyis:
■ Nézegettem néhány példát. Íme:
<?php
interface water
{
public function makeItWet();
}
abstract class weather implements water
{
private $cloudy;
public function makeItWet(){}
abstract public function start();
abstract public function getCloudy();
abstract public function setCloudy();
}
class rain extends weather
{
private $cloudy;
public function start()
{
return "Here's some weather. ";
}
public function makeItWet()
{
return 'it is raining cats and dogs today.';
}
public function getCloudy()
{
return $this->cloudy;
}
public function setCloudy($bln=false)
{
$this->cloudy = $bln;
}
}
$a = new rain();
echo $a->start();
$a->setCloudy(true);
if ($a->getCloudy()) {
echo 'It is a cloudy day and ';
}
echo $a->makeItWet();
?>
<?php
class rain
{
private $cloudy;
public function start()
{
return "Here's some weather. ";
}
public function makeItWet()
{
return 'it is raining cats and dogs today.';
}
public function getCloudy()
{
return $this->cloudy;
}
public function setCloudy($bln=false)
{
$this->cloudy = $bln;
}
}
$a = new rain();
echo $a->start();
$a->setCloudy(true);
if ($a->getCloudy()) {
echo 'It is a cloudy day and ';
}
echo $a->makeItWet();
?>
Interface
Természetesen érvelhetnél úgy, hogy Te írod a kódot, nem felejted el, de a gyakorlat egyrészt azt mutatja, hogy hasznos, mert nem kell annyi mindenre figyelni, másrészt a modern fejlesztőkörnyezetekben (NetBeans, Eclipse, stb) ilyenkor kapsz kódkiegészítést, tehát nem kell ismerned fejből az összes függvényt, amit az interface nyújt.