实例变量未初始化。那是为什么?

时间:2017-01-06 08:54:33

标签: vdm++

我的实例变量出现了这个问题。它们不会被初始化,我不确定究竟是什么意思。我所拥有的每个班级都是一样的。我发布了以下代码之一:

class Good
types
  public evalGood :: 
  good : Good
  price : nat1;

 instance variables
    private owner : Seller;
    private startPrice : nat1;
    private description : seq of char

operations
  public  getStartPrice : ()  ==> nat1
  getStartPrice() == (return startPrice);

end Good

我希望有人可以帮助我,也许可以解释原因,所以它不会再发生

此致 Kamilla

1 个答案:

答案 0 :(得分:0)

当您声明实例变量时,它们的值为" undefined" - 即。没有特别的价值 - 除非你指定它们。您可以使用初始化程序(比如说":= 123"结尾)或者将它们设置为构造函数中的值。如果你不这样做,Overture会给你这个警告。它不一定是错误,但您必须在使用它们之前将变量设置为一个值。