返回介绍

3.12 类

发布于 2020-09-09 22:55:44 字数 801 浏览 1048 评论 0 收藏 0

类是数据以及一组对数据进行操作的子程序的集合。类中的数据被称为类属性,它的子程序被称为方法。类属性和方法一起定义了一个类实例或对象的内容和能力。

class_declaration ::=   // 引用自附录A.1.3
    [virtual] class [lifetime] class_identifier [parameter_port_list]
        [extends class_type [(list_of_arguments)]];
        {class_item}
    endclass [: class_identifier]

语法 3-5 — 类(摘录自附录A)

面向对象的类扩展允许动态地产生和销毁对象。类实例或者说对象能够通过对象句柄进行传递,这就为语言加入了一个安全指针的能力。一个对象可以声明成具有input、output、inout或ref方向的自变量。在每一种情况中,拷贝的自变量是对象句柄而不是对象的内容。

一个类使用class...endclass关键字进行声明。例如:

class Packet;
    int address;     // address、data和crc属性
    bit [63:0] data;
    shortint crc;
    Packet next;     // 另一个Packet的句柄
    function new();  // send和new方法
    function bit send();
endclass : Packet

任何数据类型都可以声明成一个类成员。类将会在第十一章进行更详细的讨论。

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

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

发布评论

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