问题:‘函数’和‘方法’之间的区别

问题描述 投票:0回答:1

我所知道的它们之间的区别就在下图中。

scrypto101 explanantion of function and method

我无法完全清楚地指出其中两个之间的区别。

特别是,我无法看到加密代码并指出哪一个是

function
,哪一个是
method

我读到方法会导致状态发生变化,而函数则不会。 什么是

state
change in state
到底是什么意思?

例如如果我必须对 nfs 的元数据等进行一些更改,那么它应该归类为函数还是方法? (我想到的方法)

关于将代码任务区分为函数或方法的指南将对我有很大帮助。

我是 DeFi 和区块链技术的初学者,任何上述解释以及用于识别

change vs no change in state
的现实生活示例或代码片段都会对我有很大帮助。

scrypto radix-dlt
1个回答
0
投票

您可以像在面向对象编程中那样考虑函数和方法,其中有类和对象。类提供函数,实例化对象提供方法。由于函数是在类本身上调用的,因此它没有任何可查看/更新的状态。在从类实例化的各个对象上调用方法,并且它可以访问存储在对象状态上的值。

具体来说,在 Scrypto 中,区别在于函数/方法的第一个参数。如果您将

&self
作为第一个参数,它将是一个方法而不是函数,因为您可以通过此
&self
参数访问组件的变量。

© www.soinside.com 2019 - 2024. All rights reserved.