0
点赞
收藏
分享

微信扫一扫

d类不变量继承


原文​ 规范说:​​类不变量​​是​​继承​​的,即,​​子类​​要满足基类​​不变量​​.

import core.exception;

class A
{
int i = 3;
invariant { assert(i >= 2); }
}
class B : A
{
void setB(int v) { i = v; }
invariant { assert(i <= 10); }
}
void main()
{
B b = new B;
b.setB(1);
}

B应满足:

assert(i >= 2)
//这里上面应失败
assert(i <= 10)

然而,并没有调用​​A​​​不变量
​​​7337​​​是关于在​​调用​​​方法后不为​​无不变量​​​的派生类调用​​基类​​​中的不变量,而​​19537​​​是关于在调用方法后不​​同时​​​调用​​基类和派生类​​​中的​​不变量​​.


举报

相关推荐

0 条评论