Can you summarize the following document?
        
  計算機程式執行時,相同的訊息可能會送給多個不同的類別之物件,而系統可依據物件所屬類別,引發對應類別的方法,而有不同的行為。簡單來說,所謂多型意指相同的訊息給予不同的物件會引發不同的動作。多型也可定義為“一種將不同的特殊行為和單個泛化記號相關聯的能力”。  多型可分為變數多型與函式多型。變數多型是指:基型別的變數(對於C++是引用或指標)可以被賦值基型別物件,也可以被賦值派生型別的物件。函式多型是指,相同的函式呼叫介面(函式名與實參表),傳送給一個物件變數,可以有不同的行為,這視該物件變數所指向的物件型別而定。因此,變數多型是函式多型的基礎。  多型還可分為: 對於C++語言,帶變數的巨集和函式過載(function overload)機制也允許將不同的特殊行為和單個泛化記號相關聯。然而,習慣上並不將這種函式多型(function polymorphism)、巨集多型(macro polymorphism)展現出來的行為稱為多型(或靜態多型),否則就連C語言也具有巨集多型了。談及多型時,預設就是指動態多型,而靜態多型則是指基於模板的多型。

  1967 年,英國電腦科學家克里斯托弗·斯特雷奇在他的講義合集《》中,首次提出了特設多型和引數多型的概念。  1985 年,和在論文中引入了術語「蘊含多型」(英語:inclusion polymorphism)來為子型別和繼承建模。。不過子型別和繼承本身在 1967 年就已經在 Simula 有對應的實現。

  比如有動物(Animal)之類別(Class),而且由動物繼承出類別雞(Chicken)和類別狗(Dog),並對同一源自類別動物(父類別)之一訊息有不同的響應,如類別動物有「叫()」之動作,而類別雞會「啼叫()」,類別狗則會「吠叫()」,則稱之為多型。
在程式語言和型別論中,多型(英語:polymorphism)指為不同資料型別的實體提供統一的介面。 多型型別(英語:polymorphic type)可以將自身所支援的操作套用到其它型別的值上。