Solidity中方法、匿名方法、修改器、事件和合约继承

方法声明

function name(<parameter type>) {public|private|internal|external} [constant] [payable] [returns(<return types>)] {}
public:既可以被其他合约调用,也可以内部直接调用
external:可以被其他合约调用,但是自身合约内不能直接调用,需this.f()这样调用
internal:只能在合约和其子类合约中使用
private:只能在自己合约中使用,子类中也不能使用
constant:常量
payable:执行方法时可以接收发送的以太币

匿名方法

一个合约可以有一个匿名函数。
此函数不能有参数,也不能有返回值。
当我们企图去执行一个合约上没有和函数时,那么合约就会执行这个匿名函数。
此外,当合约在只收到以太币的时候,也会调用这个匿名函数,而且一般情况下只会消耗很少的gas。
所以当你接收以太币后,想要执行操作的话,可以把操作写在匿名函数中,这样成本非常便宜。

修改器

修改器可以用来改变方法的行为,比如在方法正式执行之前,检查方法是否满足条件,如果满足条件则执行方法,不满足则抛出异常等。

事件

即日志

合约继承

Solidity通过复制代码的方式来实现合约多重继承,当部署一个合约的时候,并不需要部署它的父类,因为父类的代码会被复制进被部署的那个合约里。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文链接date:20170710 Solidity中合约的概念和其他面向对象语言中的类差不多。他们都有状态变量来...
    gaoer1938阅读 1,012评论 0 0
  • 本文翻译自:https://github.com/ConsenSys/smart-contract-best-pr...
    tolak阅读 5,015评论 4 21
  • 文|在昔 老屋真的是太老了。――题记。 (一) 三月的风吹过来还是有些冷,野外一片荒凉。那一条条通往老屋的小路在我...
    在昔阅读 602评论 0 4
  • 本课程讲解了游戏横版Q风场景─海边的绘制流程和方法,主要介绍了使用Photoshop软件如何绘制横版Q风场景─海边...
    小太阳会发光诺阅读 1,333评论 1 1
  • 人啊 总是在夜晚倍感孤独 看着朋友圈晒的各种口红啊演唱会啊假装的励志啊 真正的幸福需要那样子晒不啦 一方面觉得真正...
    noname_5fc6阅读 338评论 1 0