JR 中的操作继承与调用选择机制深入解析
1. 操作继承概述
在编程领域,操作继承是一个重要的概念,它允许子类对从父类继承的操作进行重新定义和扩展。在 JR 中,操作继承有着独特的规则和应用场景。
操作分为两种类型:与方法关联的 ProcOp 和由 inni 语句服务的 InOp。JR 允许子类将继承的操作重新定义为 ProcOp 或 InOp,而不考虑该操作在父类中的实现方式。以下是操作重新定义的不同组合情况:
| 原操作类型 | 重新定义后的操作类型 | 操作说明 |
| — | — | — |
| ProcOp | ProcOp | 类似于标准 Java 中的方法重定义,子类可重新定义与操作关联的方法,实现操作的特化。 |
| InOp | InOp | InOp 的实现并非重新定义,而是扩展。子类可通过显式重新声明操作,将服务该操作的 inni 语句添加到实现操作的语句集中,同时可以放宽访问限制,但不会创建单独的调用队列。 |
| ProcOp | InOp | 子类通过显式重新声明操作且不定义签名兼容的方法,将 ProcOp 重新定义为 InOp,会忽略从父类继承的签名兼容方法。 |
| InOp | ProcOp | 子类通过重新声明操作并定义签名兼容的方法,将 InOp 重新定义为 ProcOp。 |
2. 操作继承示例
2.1 操作服务分发示例
将 ProcOp 重新定义为 InOp 可用于在不改变客户端的情况下分发操作调用的服务。以下是一个简单的示例,展示了如何通过操作重新定义实现服务分发:
超级会员免费看
订阅专栏 解锁全文
50

被折叠的 条评论
为什么被折叠?



