我看過飛鏢不支持函數重載。它是否支持操作符重載?如果是的話,會很友善,並以一個簡單的例子告訴我它是如何完成的。什麼是一些優勢等我是編程新手。 謝謝。飛鏢是否支持運算符超載
回答
是Dart確實支持運營商超載,使用運營商關鍵字,然後由您希望超載的運營商。下面的示例重載爲MyClass的對象==操作者:
class MyClass {
operator ==(MyClass other) {
// compare this to other
}
}
幾乎所有飛鏢內置運營商可以與幾個顯着的例外是賦值運算符=
和參考等價被重載運營商
===
(不存在了)。
至於操作符重載的優勢,它可以讓你重用有一個衆所周知的語義如==或+對您的對象的操作運營。例如,如果你有重載+然後操作者可以使用語法M1 + M2而不是更笨重m1.plus(平方米)
可以告訴我,如果'其他'是什麼特別的東西,或者它可以被命名爲別的東西。像==(MyClass ggg) – 2012-04-13 01:05:21
@MuhammadUmer其他可以被命名爲任何東西,它只是您所比較的類對象的參數名稱,即this == other或this + other – 2012-04-13 05:13:16
參數是否必須是相同類型,或者是否可以創建Scala的List cons operator ::等操作符,其中左邊的類型是構成新頭的元素類型,而右邊的類型是List類型? – pohl 2012-10-26 15:56:12
爲了延長拉斯添加兩個矩陣矩陣類回答,您還可以使用內聯函數語法重載操作符。
class MyClass {
operator ==(MyClass o) => id == o.id;
}
- 1. 是否dwscript支持運算符重載
- 2. Java是否支持運算符重載?
- 3. 飛鏢中的「matchMedia」支持
- 4. JavaScript是否支持<=運算符?
- 5. 迭代器是否支持+運算符?
- 6. Solr是否支持搜索運算符?
- 7. C++ *運算符是否「已經超載?」
- 8. 飛鏢是否有Coffeescript等價符號
- 9. 那麼....是否支持Java運算符重載?
- 10. 飛鏢:長計算
- 11. 運算符超載[]
- 12. 運算符超載
- 13. 運算符==超載
- 14. 運算符+超載
- 15. 運算符超載
- 16. 運算符超載
- 17. 飛鏢Web_Audio飛鏢1.6
- 18. 運算符超載賦值運算符
- 19. 飛碟是否支持僞元素
- 20. 飛鏢遊戲計算
- 21. NHibernate.LINQ支持的運算符
- 22. 類不支持運算符
- 23. 飛鏢檢查是否正在建設
- 24. 使用飛鏢動態加載飛鏢腳本
- 25. Go是否支持運算符類型變量?
- 26. Rust是否支持使用中綴運算符作爲函數?
- 27. MSVC10 Visual Studio 2010是否支持C++顯式轉換運算符
- 28. Spring語言是否支持IN運算符?
- 29. Haskell是否支持MongoDB的查詢運算符,比如「$ in」?
- 30. Jackrabbit是否支持XPath聯合(|)運算符?
你在哪裏讀過* Dart不支持函數重載*? – 2012-04-30 07:19:26