当前位置: 首页 > news >正文

新作的网站怎么做百度推送seo信息是什么

新作的网站怎么做百度推送,seo信息是什么,上海专业做网站,东莞建站公司快荐全网天下特别好函数定义、合约与面向对象(以太坊solidity合约) 1-函数定义、构造与多态2-事件日志3-面向对象特征 1-函数定义、构造与多态 创建合约就是创建类,部署合约就是实例化 合约的方法还支持多态 还能使用第三方的库进行开发 整个合约部署后&…

函数定义、合约与面向对象(以太坊solidity合约)

  • 1-函数定义、构造与多态
  • 2-事件日志
  • 3-面向对象特征

1-函数定义、构造与多态

创建合约就是创建类,部署合约就是实例化

合约的方法还支持多态

还能使用第三方的库进行开发

整个合约部署后,函数就是代码的执行单元

https://learnblockchain.cn/docs/solidity/structure-of-a-contract.html#structure-functions

函数也是一种类型是值类型

pragma solidity >=0.6.1 <0.7.0;// function (<parameter types>) {public private internal(默认)|external} [view|pure] [payable] [returns (<return types>)]
// 合约的函数支持多态(函数名称相同,参数类型或者数量不同)
contract FnDemo{string _name;  // 引用类型 + storageuint _age; // 值类型不存在Data Location// 构造函数,合约在部署时自动调用,一般用来初始化状态变量
//deploy部署时,需要输入两个参数constructor(string memory name,uint age) public{_name = name;_age =age;}// private 仅仅在合约内部使用(所以合约部署后无法显示进行调用)// constant 0.4的版本使用,没有修改状态变量时可以设置,0.5版本使用View,Pure代替// view: 对状态变量(storage),只读但是不能写(状态变量部署会在账本,消耗gas)function getAll() private view returns (string storage,uint){return (_name,_age);}// public: 公共函数(当前、其它、继承的子合约都能调用), 如果参数引用类型必须设置内存变量memory
//从理论上将每个智能合约只能修改自己的状态变量,而不能修改别人的,即自己的storage不能让别人修改,所以设置为memory 
// pure: 对状态变量不可读也不可写,在此函数中既没有操作状态变量,也没有读取function getAll(string memory name,uint age) public pure returns (string memory,uint){return (name,age+1);}// internal 受保护的函数,只能当前合约或者子合约调用// payable: 说明此方法有转账的操作,后面金额转账的操作比较多function getAll(string storage name) internal{getAll();  // 调用自己的private合约}}

在这里插入图片描述

2-事件日志

Solidity无打印功能,调试不便

使用事件event和log日志

https://learnblockchain.cn/docs/solidity/structure-of-a-contract.html#event

通过事件写入日志

间接使用事件实现打印的功能

pragma solidity >=0.6.1 <0.7.0;// solidity没有print,console.log方法,因此增加了调试的难度 ==> event + log来解决contract LogTest{// 事件名称采用驼峰命名法event LogData(string,uint);event LogData(string,string);function show(string memory name,uint age) public{age = age + 1;// 此处实现业务操作emit LogData(name,age);}function show(string memory name,string memory age) public{emit LogData(name,age);}
}

在这里插入图片描述

这些日志也会随着合约的调用存储到分布式账本

如支付宝转账有备注,此日志也具有此功能,后续进行调用转账函数的时候,可以写日志的,一旦交易成功会跟随数据一起写入分布式账本中,交易往来

单机一个区块
有交易,合约交易(合约的创建、调用、销毁(以后合约不能再使用))
https://cn.etherscan.com/txsInternal?block=12548200

一般众筹完毕不再接受新的众筹金币,合约就会销毁

在这里插入图片描述
在这里插入图片描述

只要每笔交易确认,当前交易日志就会写到分布式账本(测试时解决打印难题)

3-面向对象特征

https://learnblockchain.cn/docs/solidity/contracts.html

Solidity多继承,python单继承

抽象合约,函数只有声明没有实现,交给自合约实现,抽象合约无法编译

https://learnblockchain.cn/docs/solidity/contracts.html#abstract-contract

库在后续课程实战调用第三方的库

好的需求,可维护,设计

pragma solidity >=0.6.0 <0.7.0;// 手机OOP实现// 每个手机都有一样的开机与关机功能// 每个手机都有闹钟功能,但不同品牌的手机闹钟设计不同// 品牌手机实现Wifi与BlueTooth,但有些老年机只实现Wifi或者BlueTooth.interface Wifi{// external 说明当前函数只能被外界调用function wifi() external returns (string memory);
}interface BlueTooth{// external 说明当前函数只能被外界调用function blue() external returns (string memory);
}abstract contract Phone{  // 手机的父类(完成开机关机子)event ShowCall(string);//事件方式调用手机开机功能function start() internal{emit ShowCall('调用手机开机功能');}function close() internal{emit ShowCall('调用手机关机功能');}function alarm() virtual internal;//只有声明无实现(闹钟函数只能设计成抽象,每台手机对闹钟的实现各有不同,virtual 代表函数为抽象函数,solidity6)
}继承抽象合约phone
contract Mi is Phone,Wifi{//internal 不能被外界访问function alarm() internal override(Phone){emit ShowCall('小米实现闹钟功能');}function wifi() external override(Wifi) returns (string memory){return "小米实现wifi功能";}
}contract Iphone is Phone,Wifi,BlueTooth{function alarm() internal override(Phone){emit ShowCall('华为实现闹钟功能');}function wifi() external override(Wifi) returns (string memory){return "华为实现wifi功能";}function blue() external override(BlueTooth) returns (string memory){return "华为实现blueTooth功能";}function callAlarm() public{alarm();}
}

在这里插入图片描述

需要再回来好好的看看

返回华为实现了wifi功能

接口、抽象函数、抽象方法、乃至于实现

http://www.yidumall.com/news/95822.html

相关文章:

  • 铭万魔方做网站怎么样热搜词排行榜
  • 做网站如何来钱新闻式软文范例
  • 网站里的动态是如何制作学电商哪个培训学校好
  • 怎么做化妆品网站内容规划网店运营公司
  • 惠州论坛网站建设网络营销的八种方式
  • 论文网站开发torrentkitty磁力猫
  • 深圳网站建设是什么上海做网站优化
  • 道路运输电子证照seo全称英文怎么说
  • 个人做网站有什么坏处搜索网站有哪些
  • 建设银行官网首页网站南山片区怎么创建私人网站
  • 武汉网站建设优化昆山优化外包
  • 提供网站建设出售茂名seo快速排名外包
  • 网站建设论文源代码好的搜索引擎推荐
  • 乐陵人力资源网站高端网站设计公司
  • 学做网站丛什么开始网络推广和网站推广平台
  • 网站如何做反链直通车怎么开
  • 网站建设的三大原则小说搜索风云榜排名
  • 西安网站建设公司云网国外直播平台tiktok
  • 优秀b2c网站设计欣赏站外推广渠道
  • 我国政府网站建设情况深圳网络推广培训
  • 企业网站备案网络推广怎么做好
  • 北京网站设计公司兴田德润简介广州网站优化公司排名
  • 企业网站建设定制百度百度一下一下
  • 企业网站建设教程上海seo优化公司 kinglink
  • 网站前端如何做兼职制作网页的软件
  • 网站建设套餐网络推广网上营销
  • 政府网站域名后缀淄博网络推广公司哪家好
  • 农村网站建设推广代运营公司
  • win 2003 网站 管理员汕头seo优化项目
  • wordpress 头部 固定上海网站seo策划