zoukankan      html  css  js  c++  java
  • solidity 学习笔记(3) 函数修饰符/继承

    修饰符:

    函数修饰符有 constant  view pure

    其中 constant和view的功能是一样的  不会消耗gas 也就是说不会做任何存储   constant在5.0以后的版本中被废弃

      pure则更严格一点 不会消耗gas 也不会使用函数的变量

    继承:

    合约之间的继承是通过 is 来实现的:

    contract father{

      uint public money = 1000;

    }

    contract son is father{   //son 继承 father

      function geyMoney() public view returns (uint){

             return money;  //继承父亲的方法

      }

    }

    可见性:

    public与private

    对于publicprivate,相信学过其他主流语言的人都能明白:

    • public修饰的变量和函数,任何用户或者合约都能调用和访问。
    • private修饰的变量和函数,只能在其所在的合约中调用和访问,即使是其子合约也没有权限访问。

    external和internal

    除 public 和 private 属性之外,Solidity 还使用了另外两个描述函数可见性的修饰词:internal(内部) 和 external(外部)。  external函数被继承的时候,需要使用 this.functionName()来在内部调用

    • internal 和 private 类似,不过, 如果某个合约继承自其父合约,这个合约即可以访问父合约中定义的“内部”函数。
    • external 与public 类似,只不过这些函数只能在合约之外调用 - 它们不能被合约内的其他函数调用。
  • 相关阅读:
    Vue——data中的属性规范
    python的字符串用法
    python笔录第一周
    Mac下python版本的更新
    我的第一篇博客
    C语言-控制语句(循环)
    C语言-控制语句(分支与跳转)
    C语言-函数
    C语言-数组与指针
    C语言-堆和栈
  • 原文地址:https://www.cnblogs.com/gzhlt/p/9949353.html
Copyright © 2011-2022 走看看