ada - Ada:`limited interface`中`limited`的目的是什么
问题描述
几周前我开始学习 Ada。我知道limited
在某些情况下声明了一个有限的类型,不允许复制对象
受限类型是(视图)不允许复制(例如 assignment_statement)的类型。非限制类型是允许复制的(a 视图)类型。
但是,由于interface
类型本质上是抽象的,因此无法创建“接口对象”,因此无法复制。这里的关键字是limited
多余的吗?limited interface
和有什么区别interface
?
type Abstract_Fruit_Type is interface;
type Abstract_Fruit_Type is limited interface;
解决方案
关键区别在于ARM 3.9.4 12/2
从非限制接口派生的类型应是非限制的。
所以如果你想实现一个有限类型的接口,那么你必须用limited关键字标记接口。然后,您将能够使用有限或非限制类型来实现此接口。
如果您在接口描述中省略了limited关键字,那么它的所有实现都将只是非限制类型。
推荐阅读
- python - Python修改文档后将DOCX转换为PDF并导出PDF下载(DJANGO)
- jquery - 如何使用jquery获取通过下拉前一个单元格选择的新行中添加的项目的ID
- reactjs - 如何在 React 组件中存储用户配置文件信息并全局访问它
- javascript - 使用javascript以角度创建reamore按钮
- spring-boot - 为同一项目中的不同主题设置多个预取大小
- google-app-engine - Google App Script / Gmail add-on:如何在 Gmail 上显示带有文本和按钮的窗口?
- jwt - 如何在 KONGO 中设置 JWT 身份验证
- android - 如何让 recyclerView 中的 CheckBox 正常工作?
- android - Getstream 聊天在活动被置于后台然后返回前台后初始化
- javascript - 需要优化if语句