【Solidity】internal、private、external、public区别

2023-11-16

public与private

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

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

#external和internal
publicprivate 属性之外,Solidity 还使用了另外两个描述函数可见性的修饰词:internal(内部) 和 external(外部)。

  • internalprivate 类似,不过, 如果某个合约继承自其父合约,这个合约即可以访问父合约中定义的“内部”函数。
  • externalpublic 类似,只不过这些函数只能在合约之外调用 - 它们不能被合约内的其他函数调用。
注意
internal、private、external、public这4种关键字都是可见性修饰符,互不共存
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Solidity】internal、private、external、public区别 的相关文章

  • 当类型信息不可用时如何转换为私有内部类?

    我有类似以下情况 In some library code public class A private class B Object value In my code Object o o is initialized to an ins
  • Snapchat更新状态栏iOS7更新

    在最新的 Snapchat 更新中 当您 向右滑动查看消息 时 状态栏会以渐变方式从黑色变为白色 https i stack imgur com 4OlRg jpg https i stack imgur com 4OlRg jpg 他们如
  • 在嵌套匿名结构上忽略 C++ 私有修饰符

    以下示例代码在 Visual C 中编译得很好 class Test private struct struct int privateData int main int char Test test test privateData 0
  • 使用私有 Bitbucket Mercurial 存储库配置composer.json

    我的项目使用我自己的库 该库位于 bitbucket org 上的私人 Mercurial 存储库中 该库没有配置composer json 我尝试将该库作为我的项目的依赖项 首先 我向composer json写入以下字符串 requir
  • JUnit 测试私有变量? [复制]

    这个问题在这里已经有答案了 我被分配了对一个我从未直接使用 JUnit 进行过工作的类进行单元测试的任务 并且严格禁止更改包中的代码 这通常不是问题 因为我们的大多数单元测试只是为了功能和输入 输出一致性 这可以简单地通过运行例程并检查其返
  • 为什么在类中将变量声明为私有? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 各位 我首先要道歉 因为我确信这已经在其他地方得到了回答 我只是找不到以我理解的方式解释它的答案 我正在上一门理学硕士转换课程 有一些基本的基础知识我
  • 使用 Google Apps 脚本 (GAS) V8 定义私有类字段

    自从 Google 推出 V8 引擎以来 我正在将一些代码迁移到新引擎 ES6 允许定义私有类 但是在 Google App Script 上运行时 我收到错误 Example class IncreasingCounter count 0
  • Heroku 给出 500 错误,信息很少 + 内部服务器错误

    Heroku 在页面上显示此消息 internal server error 此错误显示在控制台中 GET 500内部服务器错误 检查 Heroku 应用程序的日志以查看更多详细信息 您可以使用流式传输日志Heroku CLI https
  • 私有内部类综合了意想不到的匿名类

    当您编译带有私有 内部类的 Java 类时 由于某种原因 似乎会自动合成一个匿名类 这个类足以重现它 public class SynthesizeAnonymous public static void method new InnerC
  • ES6代理类,访问私有属性(无法从类未声明的对象中读取私有成员#hidden)

    我正在研究代理对象 类和私有属性 并遇到了这个错误消息 home marc projects playground pipeline clsss js 14 this hidden this hidden TypeError Cannot
  • 覆盖私有方法时的奇怪行为

    考虑下面的代码 class foo private function m echo foo gt m public function call this gt m class bar extends foo private function
  • 委托给私有部分

    有时 C 的隐私概念让我感到困惑 class Foo struct Bar Bar p public Bar operator gt const return p struct Foo Bar void baz std cout lt lt
  • JS 私有方法不会在每次构造函数调用时重新定义

    如何创建一个每次调用构造函数时都未定义的 Javascript 私有方法 据我所知 在OOP JS中 私有方法是在 类 的 构造方法 中定义的方法 每次实例化一个新的 对象 时都会调用 我在想也许是一个函数声明 即function name
  • 为什么建议将实例变量声明为私有?

    我的问题与Java有关 但它也可以应用于C 我想知道为什么每个人都建议创建实例变量private而不是制作它们受保护的 我们想一想 子类看不到私有变量 因此如果我需要访问或更改子类中超类的变量 我被迫使用一些访问器和修改器方法 例如getM
  • 为什么在内部类中使用公共方法?

    我们的一个项目中有很多代码如下所示 internal static class Extensions public static string AddFoo this string s if s null return Foo return
  • Visual C# 2010 Express:为新类指定默认访问修饰符?

    每当我使用 Visual Studio 2010 Express C 创建新类时 它都会创建不带访问修饰符的新类 十分之九我希望我的新课程公开 如何让 Visual Studio 默认创建带有 public 修饰符的空类模板 诀窍是创建一个
  • 从类定义中省略“private”关键字是否会造成混淆?

    我最近删除了一个private从类定义中指定 因为它位于顶部 紧接在class关键词 class MyClass private int someVariable 我认为这是多余的 一位同事不同意这一点 称这实际上 隐藏 了private数
  • 与受保护的内部成员的可访问性不一致

    尝试在公共类中创建受保护内部类的受保护内部成员会导致以下问题 可访问性不一致 字段类型 what Class1 ProtectedInternalClass 比字段更难访问 what Class1 SomeDataProvider data
  • C# 中的私有“集合” - 无法理解它

    我见过很多使用类似的东西编写的示例代码 请原谅这是多么可怕的罐头 public class Test public object Thingy get private set 不幸的是 这些例子从未真正解释为什么 set 被设置为私有 所以
  • 私有方法真的安全吗?

    在Java中private访问修饰符被认为是安全的 因为它在类外部不可见 那么外界也不知道这个方法 但我认为Java反射可以用来打破这个规则 考虑以下情况 public class ProtectedPrivacy private Stri

随机推荐

  • WPF图表Live Charts(四)动态折线图

    简介 前面介绍了Live Charts的基础和设置 接下将介绍如何绘制动态的折线图 实时更新数据的折线图 效果预览 前台代码
  • 容器常用函数、algorithm头文件

    偶然发现有个
  • C++ 大话设计之《代理模式》(优缺点,设计原理,常用场景)

    代理模式是一种结构型模式 优点 可以实现对原对象的访问控制 代理对象可以在访问原对象之前执行一些额外操作 例如检查权限 记录日志等 可以提供额外的功能 代理对象可以在不修改原对象的情况下 为原对象提供额外的功能 可以减少客户端代码的复杂性
  • 【QT基础入门】1、QT开发环境搭建

    文章目录 一 学习所需要的软件 二 安装 VS2012 三 win10 下安装 QT 一 学习所需要的软件 Visual Studio 2012 Qt SDK 4 7 4 Qt Creator 2 4 1 Visutal Studio 20
  • 2021-10-26尤破金10.27外汇黄金白银实时操作策略布局

    黄金行情走势分析 周二 10月26日 国际金价回落 受到美元上扬打压 投资者在本周的关键央行政策会议前评估各国央行对日益增长的通胀压力可能做出的反应 分析师说 在当前的通胀环境下 黄金应能维持相对良好的支撑 直到我们得到美联储明确的鹰派转向
  • 2017总结

    这一年还是大部分时间做着开发的工作 在创业的一年多时间里 好像自己所做的事情不太像一个创业者做的事 用了太多的时间在具体的工作当中了 对于市场 对于营销推广都是在被动的接收 没有全面的 主动的去做事情 这也可能是我们做技术的出来创业的弊端
  • Vue.js 中hash路由和history路由原理及优缺点

    Vue js 中hash路由和history路由原理及优缺点 hash模式 原理 在 url 中的 之后对应的是 hash 值 其原理是通过hashChange 事件监听hash值的变化 根据路由表对应的hash值来判断加载对应的路由加载对
  • python基础----02-----字面量、变量、数据类型及其转换、标识符以及字符串、数据输入(input语句)

    一 字面量 1 字面量 字面量 在代码中 被写下来的的固定的值称之为字面量 类似C C 的字符串常量 1 1 常见的python值类型 Python中常见的值类型 实际上在C C 字面量和这里的类型还是有区别的 体现在内存存储中 字面量存储
  • 批处理命令将文件合并成一个pdf_如何在 Linux 命令行操作 PDF

    pdftk 命令提供了许多处理 PDF 的命令行操作 包括合并页面 加密文件 添加水印 压缩文件 甚至还有修复 PDF Sandra Henry stocker 作者 虽然 PDF 通常被认为是相当稳定的文件 但在 Linux 和其他系统上
  • linux修改用户名

    1 开root sudo passwd 2 修改sudoer 防止过程中用户权限不够 命令 gedit etc sudoer root ALL ALL ALL ALL 下添加 xxx ALL ALL ALL ALL 3 修改shadow g
  • 数论整理之唯一质因子分解方程

    唯一质因子分解方程 每个大于1的自然数均可写为质数的积 而且这些素因子按大小排列之后 写法仅有一种方式 标称 include
  • Qt getSaveFileName Qt date 获取显示当前时间和日期 文件

    保存文件 getSaveFileName QString strSaveName QFileDialog getSaveFileName this tr 保存的文件 tr demo a txt
  • C# SolidWorks 二次开发 API --- 实例:随机上色

    随机上色这个功能做起来不算复杂 但是要想做的比较完美也不简单 这一篇文章我就只做随机给装配体中的零件上色 上色前 上色后 简单的代码 private void btn setcolor Click object sender EventAr
  • FFMPEG推流摄像头

    一般的直播网站都使用OBS推流 其实ffmpeg也可以推流 在无界面环境下就可以推流使用 本文以Windows下为例 简单介绍下使用ffmpeg工具推流的方法和步骤 下载安装 下载地址 https ffmpeg zeranoe com bu
  • 使用源码安装的方式安装杀毒软件Clamav

    使用源码安装的方式安装杀毒软件Clamav 安装过程要解决的依赖有一个 libcurl 下载clamav源码包 wget http www clamav net downloads production clamav 0 102 3 tar
  • 微信小程序和网站显示灰色方法

    一 小程序设置 此时大家发现很多网站 app 小程序的整体色调全部变为了灰色 其实并不是所有的图标全部替换了灰色 只是在css中设置了一个属性 只要加上css样式即可 page webkit filter grayscale 95 全局可以
  • CSMA/CD和CSMA/CA详解

    CSMA CD CSMA CD Carrier Sense Multiple Access Collision Detect 即载波监听多路访问 冲突检测方法 在以太网中 所有的节点共享传输介质 如何保证传输介质有序 高效地为许多节点提供传
  • JAVA中正则表达式的使用

    正则表达式 用法 一 使用正则表达式对String进行匹配 1 控制匹配长度 1 使用 n 来精确控制 2 使用 n 表示大于等于n个 3 使用 m n 控制范围 4 使用 表示可以出现 0次或一次 5 使用 表示可以出现 0次或多次 6
  • 某乎搜索接口x-zse-96参数逆向学习分析,网站:aHR0cHM6Ly93d3cuemhpaHUuY29tLw==

    目标参数 x zse 96 参数分析 全局搜索x zse 96 只有两个地方出行 打上断点后刷新网页 从图中断点地方可以看到 搞清楚u f s 的由来就解决了x zse 96 可以看到s参数是由以下几部分组成 1 101 3 2 0 固定版
  • 【Solidity】internal、private、external、public区别

    public与private 对于public和private 相信学过其他主流语言的人都能明白 public修饰的变量和函数 任何用户或者合约都能调用和访问 private修饰的变量和函数 只能在其所在的合约中调用和访问 即使是其子合约也