2016-11-06 21 views

回答

0

很簡單:

foo.bar()做同樣的事情foo.__class__.bar(foo)

所以函數,參數傳遞給它,但函數存儲通過附着在物體它的類(類型),可以這麼說。符號foo.bar()只是上述的簡寫。

優點是,sams名稱的不同功能可以附加到許多對象,具體取決於對象類型。因此,foo.bar()的調用者正在通過名稱「bar」調用附加到該對象的任何函數。這被稱爲多態,可用於各種事物,如通用編程。這些功能稱爲方法。

儘管面向對象以及泛型編程也可以使用更熟悉的函數(方法)調用符號(例如Common Lisp和Julia中的多方法或Haskell中的類)來實現,但它被稱爲對象方向。

相關問題