text: 在計算機程式設計中，泛化函式或譯泛型函式，是為多型而定義的函式。在靜態型別語言中.在靜態型別語言，特別是引數多型。它們是使用定義的函式，意圖用編譯時間型別資訊來解決它。編譯器使用這些型別來例項化適合的版本，適當的解決任何函式過載。在Common Lisp物件系統中.在某些面向物件程式設計系統，比如Common Lisp物件系統和正常物件二者。圖書《》詳細解釋了CLOS泛化函式的實現和使用。Lisp的早期面向物件程式設計擴充套件是。它受Smalltalk影響，而使用平常的訊息傳送範型。傳送一個訊息的Flavors語法是：(send object :message)對於New Flavors，它決定codice_3應當是真正的函式，並使用常規函式呼叫語法：(message object)codice_3現在是泛化函式，是一個物件並且自身就是函式。codice_3的個體實現叫做方法。相同的想法實現於之中。New Flavors和CommonLoops，是Common Lisp物件系統的主要影響者。例子.Common Lisp.下面在SBCL中定義一個泛化函式，有兩個形式引數codice_6和codice_7。這個泛化函式的名字是codice_8：屬於這個泛化函式的方法定義在類之外。這裡為泛化函式codice_8定義一個方法，它特定於類codice_10。形式引數在方法體內作為正常變數使用。沒有訪問類槽的特殊名稱空間：(format t "asteroid ~a collides with spaceship ~a" object-1 object-2))呼叫泛化函式：asteroid #NILCommon Lisp還可以檢索一個泛化函式的個體方法。codice_14從泛化函式codice_8找到特定於類codice_10和codice_12的方法。比較於其他語言.泛化函式粗略的對應於Smalltalk術語方法，但具有顯著的例外，在Smalltalk的單一分派中，接收者的類，是呼叫哪個程式碼體的唯一確定者，與實際引數的型別或值無關。在具有多分派的程式語言中，在呼叫一個泛化函式的時候，方法分派在所有實際引數的基礎之上發生，不只是有特權的那個實際引數。也提供了泛化函式，但只有單一分派。
metadata: erhwenkuo/wikipedia-zhtw
metadata: 泛化函式
metadata: https://zh.wikipedia.org/wiki?curid=7430847