solidity高级主题
            
            
                高级主题目录
继承 inheritance
- Solidity继承
- 关键字is,合约继承父合约
 - 对于变量和函数,如果父合约中的权限是private则不能被子合约继承
 - 对于变量,如果父合约中的权限是internal和public,则能被子合约继承,而如果是external时就不能继承
 - 对于函数,如果父合约中的权限是internal和public, 则能被子合约继承,而如果是external时也能继承,但是在调用时使用的是:this.functionName()
 
 -  ChatGPT生成:  Internal Protected:
- Solidity 0.8.0 版本引入了 internal protected 关键字修饰符,用于在派生合约中继承父合约的 internal 变量。这样的变量在父合约中是 internal 访问权限,但在派生合约中则是 protected 访问权限。
 - 示例:internal protected uint256 myVariable;
 
 
抽象合约 abstract
- Solidity抽象合约
- 抽象合约是不能被实例化的合约,只能被继承
 - 抽象合约中的函数不能有实现
 - 抽象合约中的函数不能是private
 - 抽象合约中的函数不能是external
 - 抽象合约中的函数不能是pure
 - 抽象合约中的函数不能是view
 - 抽象合约中的函数不能是payable
 - 抽象合约中的函数不能是internal
 - 抽象合约中的函数不能是public
 - 抽象合约中的函数不能是final
 - 抽象合约中的函数不能是override
 - 抽象合约中的函数不能是virtual
 - 抽象合约中的函数不能是external
 - 抽象合约中的函数不能是constant
 - 抽象合约中的函数不能是immutable
 - 抽象合约中的函数不能是stateMutability
 - 抽象合约中的函数不能是returns
 
 
接口 interface
- Solidity接口
- 无法实现任何功能
 - 可以继承其他接口
 - 所有声明的函数必须是外部的
 - 无法声明构造函数, 无法声明状态变量
 
 
库函数 library
- Solidity库函数,一种函数集合-library
- 库与合约类似,但你不能声明任何状态变量,也不能发送以太币。
 - 库的目的是重用代码,库的函数可以被其他合约调用。
 - 如果所有库函数都是内部的,则库将嵌入到合约中。否则,必须在部署合约之前部署并链接库。
 
 
多态 polymorphism
- Solidity多态
 
异常处理 exception
- Solidity异常处理
 
安全性 security
- Solidity安全性
 
日志 log
- event(), emit()
 
- 本文标题:solidity高级主题
 - 创建时间:2024-02-28 15:01:30
 - 本文链接:2024/02/28/Web3/solidity/02-solidity高级主题/
 - 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
 
         评论