Interface

A Programozás Wiki wikiből

Interfacek (felületek) használata igen elterjedtté vált az OOP-megjelenésével,bár sok Objektum orientált nyelvben szinte nem tud meglenni nélküle az ember. A felületek egy vázat adnak az őket implementáló osztályokhoz amelyeket az osztályok majd megvalósítanak. Minden amit egy interface-ben deklarálunk az interface-t implementáló osztálynak kivétel nélkül meg kell valósítania. A felületek csak:

  • Tagfüggvényeket
  • Tulajdonságokat
  • Eseményeket
  • Indexelőket

tartalmazhatnak.

A felületek nagy előnye hogy olyan helyeken is hasznosíthatjuk ahol osztályt nem lehet. Mivel a többszörös öröklés nem minden programnyelv része ezért a felületek igen jól használhatók ennek 'pótlására'. Az egyszeres öröklés szerint egy osztálynak egy ősosztálya lehet több nem, viszont felületet többet is megvalósíthat egy osztály.

A felületek törzsében meghatározottak mindig publikusak, ha megpróbálunk más láthatósági szintet megadni a fordító hibát jelez (pl. C#). Röviden : Miért éri meg az interface :

  • Egy osztály több interface-t is implementálhat.
  • Biztosítva vagyunk hogy a felületben meghatározottakat az implementáló osztályokban biztosan megvalósítjuk.

C# Példa:


interface IFelulet 
   {
       void Sum(int x, int y);
       void Div(int x, int y);
   }
   class Osztaly : IFelulet
   {
       public void Sum(int x, int y) { }
       public void Div(int x, int y) { }    
   }