Mar*_*vel 1 import package modelica
我可以在 Modelica 模型中声明一个包或导入一个包,但我不确定它们之间是否有任何区别,我尝试了以下代码,它们都可以正常工作。我的问题是:使用这两种方法时有什么需要注意的吗?
partial model A
package SI1=Modelica.SIunits;
import SI2=Modelica.SIunits;
SI1.Voltage u1;
SI2.Voltage u2;
end A;
Run Code Online (Sandbox Code Playgroud)
您在这里做了两件根本不同的事情,它们都适用于这种情况:
package SI1=Modelica.SIunits;称为短类定义。您创建了一个名为 的新包SI1,它继承了Modelica.SIunits.
简短的类定义与写作基本相同
package SI1
extends Modelica.SIunits;
end SI1;
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅Modelica 规范中的第4.5.1章短类定义。
import SI2=Modelica.SIunits另一方面,仅影响 Modelica 工具查找类定义的位置 - 所以这里没有定义新类。Modelica 规范中的13.2.1.1 Lookup of Imported Names一章解释了这一点。
如果您只想使用该包,请导入它。这import就是设计的目的。仅当您想添加功能或更改任何内容时,声明一个新包才有意义(但如果您使用的是短类定义,这将非常有限)。
| 归档时间: |
|
| 查看次数: |
75 次 |
| 最近记录: |