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

葫芦岛建设信息网站新公司名字注册查询

葫芦岛建设信息网站,新公司名字注册查询,杭州房产信息网,展览设计网站推荐多态是面向对象编程(OOP)的一个核心概念,允许不同类的对象被视为同一类型的实例,并根据实际类型来响应相同的方法调用。 这意味着同一个接口可以用来引用属于不同类的对象,而这些对象可以有自己的方法实现&#xff0c…

多态是面向对象编程(OOP)的一个核心概念,允许不同类的对象被视为同一类型的实例,并根据实际类型来响应相同的方法调用。

这意味着同一个接口可以用来引用属于不同类的对象,而这些对象可以有自己的方法实现,这些实现可以在运行时被动态地调用,而不是在编译时。多态性增加了程序的灵活性和可扩展性。

多态有两种主要形式:

  1. 编译时多态(静态多态)
    编译时多态,也称为静态多态,是通过方法重载和运算符重载实现的。

这意味着在编译时就确定了将要执行哪个方法,通常依赖于方法的参数列表(方法的名称相同,但参数的数量或类型不同)。

方法重载(Overloading)

在同一个类中定义多个同名方法,但是它们的参数列表不同(参数的数量或类型不同)。

根据传递给方法的参数类型和数量,编译器决定调用哪个方法。


  1. 运行时多态(动态多态)
    运行时多态,也称为动态多态,是通过方法重写(Override)实现的,它允许子类提供一个特定于自己的实现,覆盖父类的方法。

在这种情况下,到底调用哪个方法是在程序运行时根据对象的实际类型动态决定的。

方法重写(Overriding)

子类重写继承自父类的方法。当通过父类引用调用该方法时,实际调用的方法取决于对象的实际类型。

这是通过使用虚方法(virtual methods)和方法重写(method overriding)来实现的,其中子类的方法会覆盖父类的同名方法。

基本语法

在Solidity中,多态性通过继承和函数重写实现。

子类使用override关键字来指明它重写了父类中的函数。

父类可以使用virtual 关键字来指名他允许子类,重写方法。

基本使用方式 - 方法重载

这是通过使用虚方法(virtual methods)和方法重写(method overriding)来实现的,其中子类的方法会覆盖父类的同名方法。

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;contract BaseContract {function name() public pure virtual returns (string memory) {return "BaseContract name";}
}contract Xm is BaseContract {function name() public pure override returns (string memory) {return "Xm name";}
}contract Xl is BaseContract {function name() public pure override returns (string memory) {return "Xl name";}
}

修饰器重载

函数修改器可以相互重载。 这与 函数重载 的工作方式相同(除了对修改器没有重载)。

virtual 关键字必须用在被重载的修改器上, override 关键字必须用在重载的修改器上:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;contract A {modifier test() virtual{_;}
}contract B is A{modifier test() override {_;}
}

多重继承的重载

在多重继承的情况下,必须明确指定所有的直接基类合约。

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;contract A {function getValue() public pure virtual returns (string memory) {return "A";}
}contract B {function getValue() public pure virtual returns (string memory) {return "B";}
}contract C is B,A  {function getValue() public pure override( B,A) returns (string memory) {return super.getValue();}
}

http://www.yayakq.cn/news/868508/

相关文章:

  • 网站开发岗位内容和要求哪个平台做推广效果好
  • 网站优化工作室公司网页设计作业下载
  • 如何设计旅游网站做网站的公司怎么做抖音账号
  • 餐饮网站建设网站关于企业网站建设的建议
  • h5网站模板怎么修改wordpress模板文件路径
  • 网站发外链乌克兰最新消息今天
  • 网站建设的常见问题做网站怎么和广告公司合作
  • 网站超市系统 源码网站开发使用软件环境
  • 网站建设 华博互联wordpress 经典
  • 鹤壁市城市建设投资有限公司网站线下推广的渠道和方法
  • 大网站前端怎么做的网站开发技能证书
  • 网站怎么做交易平台找人做的网站推广被坑
  • 外国人学做中国菜 网站可以转app的网站怎么做的
  • 重庆有哪些好玩的地方seo实战密码pdf
  • 昆明 网站推广电商平台怎么开发
  • 知名自助建站平台黑龙江企业网站建设公司
  • 免费英文 网站模板一般通过什么判断鱼的年龄
  • 高端网站建设机构网页上的视频怎么下载
  • angular网站模板下载wordpress主题+插件下载
  • 长春网站外包快代理官网
  • 棋牌类网站开发销售案例网站
  • c 网站开发技术做那种英文网站有流量
  • 做一个团购网站的成本桂林模板网站建设
  • 今年的公需课在哪个网站做设计网页报价
  • 品牌制作网站微信小程序api文档
  • 网站建设佰首选金手指十互联网公司有哪些部门
  • 邯郸创建网站要多少钱wordpress大气企业主题
  • 东莞网站建设的方案网站设计网站源码
  • 多伦网站建设杭州网论坛
  • 吐鲁番建设局网站企业级网络管理