功能和方法有什麼區別?
任何人都可以用適當的例子說出來嗎?
並說明有什麼區別?我們說一些例程稱爲函數,它稱爲方法?
在此先感謝功能和方法的區別
功能和方法的區別
回答
函數或方法是一個指定的可調用代碼塊,它執行一些操作並可選地返回一個值。
在c語言中使用了術語函數。 Java & C#人們調用這些方法(並且在這種情況下函數是在類/對象中定義的)。
C++程序員可能會稱它爲函數或有時方法(取決於它們是編寫過程式C++代碼還是正在做面向對象的C++方式)。
您可以通過只調用它調用一個函數就像result = mySum(num1, num2);
名字你會調用一個方法,通過引用其對象首先像
result = MyCalc.mySum(num1,num2);
檢查CubanAzucy的答案的鏈接。它已經在Stack Overflow上詳細討論過了。
函數是一段按名稱調用的代碼。它可以傳遞數據來操作(即參數),並可以選擇返回數據(返回值)。
所有傳遞給函數的數據都被顯式傳遞。
方法是一段代碼,通過與對象關聯的名稱調用。在大多數方面,除了兩個關鍵區別之外,它與功能相同。
它被隱式地傳遞給它被稱爲的對象 它能夠操作類中包含的數據(記住一個對象是一個類的實例 - 類是定義,對象是該數據的一個實例)
一般而言:方法是屬於某個類的函數,函數可以位於代碼的任何其他範圍內,因此您可以聲明所有方法都是函數,但並非所有函數都是方法:
以下面的python爲例:
class Door:
def open(self):
print 'hello stranger'
def knock_door:
a_door = Door()
Door.open(a_door)
knock_door()
給出的例子顯示了一個名爲「Door」的類,它有一個名爲「open」的方法或動作,因爲它是在類中聲明的,所以它被稱爲方法。還有一部分代碼在下面定義了一個函數「def」,它是一個函數,因爲它沒有在類中聲明,這個函數調用我們在類中定義的方法,就像你看到的,最後函數正在稱爲「獨自」。
正如你所看到的,你可以在任何地方調用函數,但是如果你想調用一個方法,你必須傳遞一個與聲明方法的類相同類型的新對象(Class.method(object))或者你必須調用對象內部的方法(object.Method()),至少在python中。
把方法看作只有一個實體可以做的事情,所以如果你有一個Dog類,只有在這個類中有一個樹皮函數是有意義的,這將是一個方法,如果你還有一個Person類,可以合理地寫一個函數「飼料」,因爲它不屬於任何類別,因爲人類和狗類都可以飼料,你可以稱它爲函數,因爲它不屬於任何類別。
- 1. Scala中的方法和功能的區別
- 2. 區別對象和功能
- 3. 方法覆蓋和功能覆蓋/超載有什麼區別
- 4. 功能與新功能的JavaScript區別
- 5. Sharepoint 2007和2010中功能的區別
- 6. Javascript:$(function(){});有什麼區別?和功能(){}
- 7. 成功和$ .ajax的.done()方法之間有什麼區別
- 8. 的iOS:方法和功能
- 9. 模板功能區別
- 10. Scrum術語:新功能和增強功能有什麼區別?
- 11. C#:「過時」功能和「棄用」功能有什麼區別?
- 12. 正常功能和發電機功能有什麼區別?
- 13. .NET功能和C#功能有什麼區別? (請用例子)
- 14. 地板功能和截斷功能有什麼區別?
- 15. 「功能」和「功能!」有什麼區別?在VIM中?
- 16. iphone中的區塊和功能有什麼區別
- 17. 功能區上的CheckBox和ToggleButton有什麼區別?
- 18. 算法和方法有什麼區別
- 19. Ajax'成功'與成功方法調用之間的區別?
- 20. JMS/MQ和同步方法的區別
- 21. JSON中.put()和.element()方法的區別?
- 22. java中addItem和insertItemAt方法的區別
- 23. 事件和方法之間的區別
- 24. encodeURIComponent方法()的區別和[A○]字符
- 25. OnLoad方法和Load事件的區別?
- 26. getRootNav()和navCtrl()方法之間的區別
- 27. 對象和靜態方法的區別
- 28. 「__method__」和「方法」之間的區別
- 29. PrintWriter.printf和PrintWriter.format方法之間的區別
- 30. EventLog.WriteEntry和EventLog.WriteEvent方法之間的區別