Jelenlegi hely

2.5. Publikus interfész

Általánosságban egy eszköznek vagy rendszernek szokás az interfészéről beszélni: azt írja le, hogy külső dolgok hogyan tudnak kapcsolódni hozzá. Ilyen értelemben két magyar ember között egy interfész a magyar nyelv.

Egy tetszőleges osztály esetén tehát a publikus interfész alatt az osztály kívülről is látható (publikus) felületét értjük. (Ez többnyire a publikus konstruktorokra és metódusokra korlátozódik.) Az üzenetküldés fogalmára visszautalva az osztály publikus interfésze azt határozza meg, hogy más objektumok milyen üzenetet küldhetnek az objektumnak, illetve milyen módon hozhatnak létre az osztálynak egy példányát.

Java interfész

Érdemes itt megemlíteni, hogy ez az elméleti fogalom nem egyezik meg a Java interfész fogalmával. A Java nyelven belül az interfész egy típus, mint ahogy az osztály is típus. Az osztályhoz hasonlóan az interfész is definiál metódusokat, de attól eltérően soha nem valósít meg metódust. Az interfészt megvalósító osztály fogja annak metódusait megvalósítani.

Az interfészek hasznosak a következő esetekben:

  • Hasonlóságok megfogalmazása anélkül, hogy mesterkélt osztályhierarchiát építenénk fel
  • Olyan metódusok definiálása, amelyeket több osztályban meg kell valósítani
  • Többszörös öröklődés modellezése a más nyelvekből ismert veszélyek nélkül