Generieke functie

Van Wikipedia, de gratis encyclopedie
Spring naar navigatie Spring naar zoeken

Generieke functies (niet te verwarren met functies in generieke programmering ) zijn binnen objectgeoriënteerd programmeren een concept [1] van bepaalde programmeertalen zoals Common Lisp , [2] die multi- methoden implementeren. Omdat multi-methoden vanwege hun aard niet aan een klasse kunnen worden toegewezen, worden ze in plaats daarvan aan een generieke functie toegewezen. Het geheel van de methoden die op deze manier aan een generieke functie zijn toegewezen, vormt dan de reikwijdte van de functies.

Algemene functies in Common Lisp

definitie

Generieke functies worden gedefinieerd met de defgeneric macro. De formele parameterlijst bestaat alleen uit de parametertypen, aangezien er geen parameternamen nodig zijn. Generieke functies hebben geen eigen functielichaam.

 (Defgeneric mijn-functie (type 1 type2 type3))

gebruik maken van

De generieke functies vormen slechts het toegangspunt tot een hiërarchie van methoden. U mag het niet definiëren, omdat het automatisch wordt gedaan zodra een eerste methode met dezelfde naam is gedefinieerd. Als er echter optionele, trefwoord- of rustparameters worden opgegeven, kan de exacte specificatie van de parameterlijst alleen worden gedaan door de generieke functies expliciet te definiëren.

Zie ook

Individueel bewijs

  1. Algemene functie. In: Wiki Wiki-web. Portland Pattern Repository , Ward Cunningham , 15 juli 2003, geraadpleegd op 3 november 2013 .
  2. Kent Pitman: 7.6.1 Inleiding tot generieke functies. In: Common Lisp HyperSpec. LispWorks Ltd., geraadpleegd op 3 november 2013 .