Solidity面向对象介绍
Solidity编程语言结合了多种编程语言的特性,它是一种面向对象的编程语言,也可以说是一种面向对象的思想来实现智能合约的编写。Solidity继承
- Solidity 支持多重继承包括多态
- 当一个合约从多个合约继承时,在区块链上只有一个合约被创建
- Solidity 的继承系统与 Python的继承系统 非常 相似,特别是多重继承方面
Solidity抽象合约
抽象合约可以包含已实现的函数也可以包含抽象函数,抽象函数是没有函数体的的函数。如果一个合约从一个抽象合约里继承,但却没实现所有函数,那么它也是一个抽象合约
Solidity接口
接口类似于抽象合约,但是它们不能实现任何函数。还有进一步的限制
- 无法继承其他合约或接口。
- 无法定义构造函数。
- 无法定义变量。
- 无法定义结构体 无法定义枚举。
Solidity面向对象案例-手机
编程手机面向对象需求分析
- 每个手机都有一样的开机与关机功能 (功能必须而且相同,那么此功能应该被抽取到父模块中)
- 每个手机都有闹钟功能,但不同品牌的手机闹钟设计不同 (功能必须但不相同,应该在父模块声明抽象函数,交给子类实现)
- 品牌手机实现Wifi与BlueTooth,但有些老年机只实现Wifi或者BlueTooth (可选功能交给接口来实现)
Solidity面向对象实现
采用一个基于手机的OOP案例,整合了Solidity的封装、继承、多态、接口等概念,请注意oop的相关语法0.4与0.5以上的版本差异非常大,此处采用的是0.6最新版的语法来实现

0 条评论