【发布时间】:2014-11-19 10:09:46
【问题描述】:
我正在尝试了解 Abap-OO 的一些工作原理。
在 C# 中,可以通过泛型中的约束将类型限制为任何类型,但至少符合某些(多个)接口:
where T : IAmInterfaceA, IAmInterfaceB
是否可以在 abap-oo 中存档相同的内容?我想将任何对象作为参数传递给符合两个接口的方法。
例如我想拥有这两个接口:
- 验证
- ISaveable
我不希望有一个额外的接口结合这两个分别提供的方法。
例如,可能有一个管理器类想要保存对象,但前提是它们有效:
Manager.Save(/* <object that conforms to both interfaces IValidate and ISaveable> */ );
因此,如果我有一个像SimpleData : IValidate, ISaveable 这样的简单类,则可以将此类的对象传递给该方法,但不能传入另一个其类仅实现ISaveable 的对象。
在 C# 中,我会简单地将 save 方法定义为泛型方法:
static bool Save<T>(T dataObject) where T : IValidate, ISaveable { /* ... */ }
如果可能,如何在 abap-oo 中执行此操作?
【问题讨论】: