![]() |
1
3
与过程绑定的传递对象相对应的伪参数必须始终是多态的。 内在赋值语言的规则不允许对不可分配的多态对象进行赋值。这是因为这样的赋值通常是一个类似于切片的错误-您将取消定义在rhs的动态类型中声明的对象位,而不是在lhs的声明类型中声明的对象位。 使用选择类型和匹配对象动态类型的类型保护,可以将多态对象向下转换为非多态对象。您还可以通过参数关联愉快地切分到您心中的内容-多态的实际参数可以与相同声明类型的非多态伪参数相关联。 可以通过使父类型抽象并使绑定延迟(或保留)来强制扩展实现绑定(正如您已经做的那样)。在您的情况下,可能需要在层次结构中添加其他类型。
|