`

abstract

 
阅读更多
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.6.0 <0.9.0;
import "hardhat/console.sol";

//如果未实现合约中的至少一个函数,则需要将合约标记为 abstract。 即使实现了所有功能,合同也可能被标记为abstract。
abstract contract BaseAbstract {
    function fun() public virtual;
    function fun2() public virtual;
}

//由于只实现了父类一个函数,还需要指定为abstract
abstract contract DerivedAbstract1 is BaseAbstract {
    function fun() public virtual override{
        console.log("DerivedAbstract1 fun()");
    }
    //function fun2() public virtual override; //可以只实现一个
}

//所有父类的函数都实现了,则无需abstract,当然要加也是可以的
contract DerivedAbstract2 is BaseAbstract {
    function fun() public virtual override{
        console.log("DerivedAbstract2 fun()");
    }
    function fun2() public virtual override{
        console.log("DerivedAbstract2 fun2()");
    }
}

//由于在父类中fun已实现,则在子类中无法再标记成无实现
// contract DerivedAbstract11 is DerivedAbstract1 {
//     function fun() public virtual override; 
// }
分享到:
评论

相关推荐

    Java常用设计模式(SingleTon、FactoryMethod、AbstractFactory)

    这里我们将深入探讨三种常见的Java设计模式:单例(Singleton)、工厂方法(Factory Method)和抽象工厂(Abstract Factory)。 **单例模式(Singleton)** 单例模式确保一个类只有一个实例,并提供一个全局访问点...

    Joseph Gallian-Contemporary Abstract Algebra-Cengage Learning (2016)

    标题所指示的知识点是关于Joseph Gallian所著的《Contemporary Abstract Algebra》这本书,这本书是2016年由Cengage Learning出版的,属于抽象代数领域的教材。 在描述中提到,这是一本关于抽象代数的书籍资料,...

    override abstract virtual interface比较

    C# 中 override、abstract、virtual、interface 的比较 在 C# 编程语言中,override、abstract、virtual、interface 是四个关键字,它们之间存在着紧密的联系,我们经常会遇到 override、abstract、virtual 这三个...

    对设计模式—Abstract Factory模式的认识

    ### 设计模式——Abstract Factory模式的认识 在软件工程领域,设计模式是一种被广泛接受的解决方案,用于解决在软件设计过程中常见的问题。其中,Abstract Factory模式是23种GoF(Gang of Four)设计模式之一,它...

    设计模式之Abstract Factory模式和代码实现

    在设计模式中,Abstract Factory模式是一种用来解决在不指定具体实现的情况下创建一系列相关或相互依赖对象的模式。在本文的上下文中,我们看到它被应用于一个奇幻RPG游戏的角色种族设计,每个种族(如人类、精灵)...

    深入理解abstract class和interface

    abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性...

    Remobjects DataAbstract VCL v7.0.65.1067 Retail

    Data Abstract is the leading framework for secure, safe, and scalable data access across all the different platforms you might be building client applications for. Whether you are creating business ...

    基于Data Abstract框架应用软件开发

    Data Abstract是一款强大的软件开发框架,尤其适用于创建分布式应用程序。它为开发者提供了一种高效、安全且灵活的方式来在客户端和服务器之间传输数据。本教程将深入探讨如何利用Data Abstract框架进行应用软件开发...

    Data Abstract Sample for .NET-CSharp

    在这个“Data Abstract Sample for .NET-CSharp”中,我们将深入探讨如何在C#环境下利用数据抽象技术来构建高效的、可扩展的应用程序。 首先,让我们了解一下什么是RemObjects。RemObjects是为多种编程语言提供跨...

    【最新版】Abstract-92.0.0.dmg【亲测可用】最好的设计协作

    设计经理通过注释设计的特定部分来提供反馈,并且一些其他队友在Abstract中进行评论。 抽象集合,显示了一组精选的设计,可以与利益相关者共享。 通知列表显示了设计经理正在批准项目,并突出显示Abstract的审阅请求...

    Data Abstract for Delphi支持delphi2011,delphi XE

    Data Abstract 支持delphi2011(delphi XE) 由于文件较大分割成3份 需要Remobjects SDK的支持 Remobjects SDK 2011下载地址 http://download.csdn.net/source/3018354

    C# 抽象工厂 AbstractFactory.rar

    在C#中,设计模式是一种解决常见编程问题的标准模板,抽象工厂(Abstract Factory)模式就是其中之一。这个压缩包“C# 抽象工厂 AbstractFactory.rar”可能包含了一个关于如何在C#中实现抽象工厂模式的实例或教程。 ...

    RemObjects Data Abstract for Delphi - 9.0.97.1245

    RemObjects Data Abstract for Delphi - 9.0.97.1245 非常好的delphi 三层 三方控件

    RemObjects Data Abstract for .NET 7.0.65.1067

    RemObjects Data Abstract for .NET 7.0.65.1067 是一个强大的中间件框架,专门设计用于在各种应用程序之间实现数据抽象和远程数据访问。这个版本的更新着重于提高性能、稳定性和兼容性,使得开发人员能够更高效地...

    Remobjects DataAbstract VCL v7.0.65.1067 Retail.7z

    Remobjects DataAbstract VCL v7.0.65.1067 Retail 是一款强大的中间件框架,专门设计用于在 Delphi 开发环境中构建数据驱动的应用程序。它提供了丰富的功能,帮助开发者创建灵活、可扩展且跨平台的数据访问层。这款...

    1st course in Abstract Algebra 7E - Fraleigh(solutions manual)

    根据描述,“这是1st course in Abstract Algebra 7E - Fraleigh这本书的配套答案,希望大家在学习中有所帮助。”这段话明确指出了解答手册的目的——作为学生学习过程中的辅助工具。它旨在帮助读者理解抽象代数的...

    创建型模式之抽象工厂模式(Abstract Factory Pattern)

    1. 抽象工厂(Abstract Factory):这是模式的核心,它是一个接口或抽象类,定义了一系列创建对象的方法,但并不直接实例化具体的对象。这些方法用于创建一系列相关或相互依赖的对象。 2. 具体工厂(Concrete ...

    AbstractFactory案例代码

    抽象工厂(Abstract Factory)模式是其中一种创建型设计模式,它提供了一个接口,用于创建相关或依赖对象的家族,而无需指定它们的具体类。这个模式尤其适用于当系统需要在运行时根据不同的条件或配置来创建一系列...

    RemObjects Data Abstract for .NET 7.0.65.1067.rar

    RemObjects Data Abstract for .NET 7.0.65.1067 是一个用于.NET框架的数据库访问中间件,由RemObjects Software公司开发。它为开发者提供了在各种平台和语言间进行数据库交互的能力,包括Delphi。这个版本号7.0.65....

Global site tag (gtag.js) - Google Analytics