Autor Zpráva
TomAsQo
Profil
nevysvetlite mi pls, co to je? som to akosi z knizky nepochopil ;( njeje to nahodou TO ISTE ako dedicnost?
sry za mozno primitivnu otazku, ale nikde som nenasiel odpoved ;(
TFSi
Profil *
Interface by mohlo být uživatelské rozhraní, implements jsou nástroje (nářadí). Toť otrocký překlad do češtiny. Jinak by to chtělo nějaké souvislosti.
ronnie
Profil
Interface (rozhraní) určuje, které metody musí třída obsahovat. Implements znamená "implementuje" a používá se při deklaraci třídy.

interface Rozhrani
{
public function metoda();
}

class Trida implements Rozhrani
{
}

znamená, že vytváříš třídu Třída, která implementuje rozhraní Rozhrani a musí zde být metoda metoda().

Když teď vytvoříš skript

$class = new Trida();

tak vyskočí chyba, že třída nemá implementovanou metodu metoda.

class Trida implements Rozhrani
{
public function metoda()
{
//udelej neco
}
}

už bude fungovat. Více viz http://php.interval.cz/clanky/objektove-rozhrani/
ja ;)
Profil *
clanok z intervalu som si precital, ale stale akosi nechapem, naco to je dobre...
je to viac-menej len na spriehladnenie kodu, aby som vedel, ze v jakej triede sa jake metody budu nachadzat?leboo ako vidim v rozhrani moze byt ina DEKLARACIA metod a premennych...
ronnie
Profil
Příklad s databází.

interface Databaze
{
public function getResult();
public function connect();
...
}

class MySQL implements Databaze
{
... implementace metod
}

class Oracle implements Database
{
... implementace metod
}

atd.

Rozhraní v tomto případě říká, jaké metody musí každá třída obsahovat. Pokud je neobsahuje, zobrazí se chyba. Metody mají stejný název, ale dělají něco jiného (jedna vytváří spojení s MySQL, druhá s PostgreSQL ap.) = polymorfismus.

Představ si, že postavím projekt na MySQL, ale v půlce zjistím, že by bylo lepší projekt postavit na SQLite. Místo

$class = new MySQL();

napíšu

$class = new SQLite();

a nic víc není třeba. Díky rozhraní mám jistotu, že SQLite má stejné metody jako MySQL, tzn. rozhraní jsou v OOP proto, aby udělali kód bezpečnější a přehlednější.
MiSHAK
Profil
TFSi nástroje jsou tools nebo instruments...
Toto téma je uzamčeno. Odpověď nelze zaslat.

0