0
A
回答
2
首先Modelica只有一种类型的对象,类和其他对象(模型,记录,包)只是特殊类型的有限制的类。这意味着每个对象都必须遵循相同的规则,因此我将引用对象类,但是我将写入的内容将应用于每个Modelica对象。 这些变量每个对象实例化意味着,如果你有一个的Modelica类像以下各项之一:
partial class MySimpleClass
Real variable1;
equation
variable1 = time;
end MySimpleClass;
当在声明一个成员变量如MySimpleClass instanceOfTypeMySimpleClass:
class mySecondClass
MySimpleClass instanceOfTypeMySimpleClass;
MySimpleClass instanceTwoOfTypeMySimpleClass;
Real variable1;
equation
variable1 = instanceOfTypeMySimpleClass.variable1;
instanceTwoOfTypeMySimpleClass.variable1 = 3;
end mySecondClass;
你声明一个实例变量。每次创建类的实例时,Modelica编译器都会为实例创建每个类的实例变量的一个副本,并由对象完成。您可以使用语法<instanceName>.<VariableName>
从对象访问对象的实例变量。
Modelica编译器为每个实例分配一次类变量。 Modelica编译器在每次遇到该类的实例时为类变量分配内存。因此,所有实例DID不是共享类的类变量的相同副本,例如,对于Java中的静态类。换句话说,在该示例中,instanceOfTypeMySimpleClass.variable1和instanceTwoOfTypeMySimpleClass.variable1是两个不同的变量。
“Modelica类的变量是按每个对象实例化的。”意在描述这种差异。我希望这有助于, Marco
相关问题
- 1. Haskell中的实例化类型变量
- 2. 从PHP中的变量实例化类?
- 3. Ruby中的类变量实例变量
- 4. 从变量中实例化ES6类
- 5. 类实例化后,类变量重置
- 6. Ruby中的类实例变量和实例变量
- 7. 实例化大量的类
- 8. 在python中用类中的变量实例化一个类
- 9. 在Ruby中实例化一个类并填充实例变量
- 10. 通过值实例化本地变量?
- 11. 类型的实例变量
- 12. 在子类中未实例化的类变量Java
- 13. 通过实例变量控制类的特定实例
- 14. Ruby:实例化块中的新变量
- 15. 初始化Mixins中的实例变量
- 16. 实例化实例变量为块
- 17. 如何在C++中实例化一个成员变量中的子类实例?
- 18. Ruby类实例变量与类变量
- 19. python类实例变量和类变量
- 20. 通过变量传递类实例
- 21. ActionScript 3 - 从实例化类访问主应用程序类中的变量
- 22. 实例化空csv变量
- 23. Objective-C:类别中的实例变量
- 24. 类中的函数实例变量
- 25. Javascript类中的实例变量
- 26. 类方法中的实例变量
- 27. 子类中的实例变量访问
- 28. 通过变量动态实例化一个类
- 29. 是否为每个类的实例实例化私有类变量?
- 30. 在C++中实例化实例变量的正确方法