返回介绍

11.14 super

发布于 2020-09-09 22:55:49 字数 638 浏览 1034 评论 0 收藏 0

super关键字在一个继承类的内部使用,可以用来引用其父类的成员。当父类成员被继承类成员过载的时候就有必要使用super关键字来访问负类的成员。

class Packet;  // 负类
    integer value;

    function integer delay();
        delay = value * value;
    endfunction
endclass

class LinkedPacket extends Packet; // 继承类
    integer value;

    function integer delay();
        delay = super.delay() + value * super.value;
    endfunction
endclass

成员可以是在上一级声明的成员或者通过类的上一级继承而来。但没有办法到达更高的层次(例如,super.super.count是不允许使用的)。

子类(或继承类)是当前类的扩展。而超类(父类或基类)是扩展到当前类的类,它起始于一个最初的基类。

当在new中使用super的时候,super.new应该是构造器执行的第一条语句。这是因为,超类在当前类之前被初始化,并且,如果用户代码没有提供一个初始化器,那么编译器会自动地调用super.new。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文