Verwijderd schreef op 28 mei 2004 @ 10:50:
Voor de kenners is het waarschijnlijk een eenvoudige vraag maar wat is precies een java type interface? Het enige wat ik tot nu toe gevonden heb is dat het een methode is om multiple inheritence mee te realiseren.
Zoeken met google levert 1000000000000 resultaten over GUI's

Java staat geen multiple inheritance toe, je kan dus niet zeggen:
class A extends B,C,D
Met een interface kan je dat wel doen:
class A implements B,C,D.
Je kan dus zoals je zegt multiple inheritance toevoegen.
Persoonlijk vind ik een interface veel belangrijker voor een ander doeleinde, namelijk je contract. In je interface beschrijf je het contract waar maker (van de implementatie van die interface) zich aan moet houden. En waar de gebruikmaker rekening mee moet houden. Op deze manier kan je dus implementatie en contract van elkaar scheiden (zoals je ziet bij headers files en c++).
Je moet daarom (als er geextend gaat worden) ontwerpen vanuit een interface en eventueel een abstract de convenience implementaties laten dragen. Je kan dan zelf kiezen of je van die abstract class wilt extenden (dus impliciet die interface extend), of zelf die interface gaat implementeren.