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++中實例化實例變量的正確方法