主要内容

进口

导入模型类

语法

进口package_or_class;
导入包。*;

描述

进口语句允许在没有完全限定引用的情况下访问其他作用域(包)中定义的模型类或函数名。你必须放置进口语句在Simscape™文件的开头。

有两种类型进口语句语法。一种是合格导入,它导入特定的包、类或函数:

进口package_or_class;

另一种是不合格导入,它导入指定包下的所有子包、类和函数:

导入包。*;

包或类名必须是完整的路径名,从库根(顶级包目录名)开始,必要时包含子包名。

Import语句受以下约束:

  • 导入的名称必须是从库根开始的完整路径名称,即使进口语句用于定义在与正在导入的域或组件类相同的包下的组件类中。

  • 你必须放置进口语句在Simscape文件的开头。导入名称的作用域是整个Simscape文件,除了设置部分。

  • 在限定导入语句中,导入的名称可以引用子包、模型类(域类或组件类)或函数。例如,在进口A.B.C;声明中,C可以是子包名、类名或函数名。在不限定的导入语句中,导入的名称必须指向包或子包。例如,在进口A.B. *;声明中,B必须是子包名(package一个).

  • 如果未限定的导入名称与相同作用域中的其他名称相同,则会导致编译错误,前提是使用了重复的名称。例如,假设子包A.B而且A.B1两者都包含一个组件类C.以下代码:

    进口A.B.C;进口A.B1。*;component M components (ExternalAccess=observe) c = c;结束结束

    导致编译时错误。然而,以下代码是合法的(假设D只在A.B中定义),因为没有使用C:

    进口A.B.C;进口A.B1。*;(ExternalAccess=observe) d = d;结束结束

    这段代码也是合法的:

    进口A.B;进口A.B1;组分M组分c1 = B.C;c2 = B1.C;结束结束

    因为您将两个不同的名称导入此作用域(B而且B1),并访问两个不同的组件类C通过它们的父类B而且B1

例子

在这个例子中,复合元件由三个相同的电阻并联组成:

进口foundation.electrical.electrical;%电子域类定义导入foundation.electric .elements.*;%所有电气元件组件parel电阻节点p =电气;N =电的;结束参数p1 ={3, '欧姆'};end components(ExternalAccess=observe) r1 =电阻(R=p1);r2 =电阻(R=p1);r3 =电阻(R=p1);连接端连接(r1.)r2 p。p, r3。p, p); connect(r1.n, r2.n, r3.n, n); end end

版本历史

在R2013b中引入

另请参阅