苏州同元软控信息技术有限公司培训教程——2010年6月6日Modelica高级篇苏州同元软控信息技术有限公司恭喜您完成了基础篇的学习,下面我们将开始Modelica语言高级篇的内容本阶段任务、主要内容学习的方法苏州同元软控信息技术有限公司高级特性1抽象与继承2参数变型3重声明4outer/inner5状态选择StateSelect6注解annotation苏州同元软控信息技术有限公司高级特性7条件组件和可扩展连接8包、(非)结构化实体苏州同元软控信息技术有限公司高级特性1抽象与继承2参数变型3重声明4outer/inner5状态选择StateSelect6注解annotation苏州同元软控信息技术有限公司抽象与继承Modelica提高·从示例讲起·声明的继承·方程的继承·多重继承·继承的方式·保护继承苏州同元软控信息技术有限公司关键字:extends结果:将基类的所有组件、方程以及其它内容全部复制到派生类中。recordColorDataparameterRealred=0.2;parameterRealblue=0.6;Realgreen;endColorData;classColorextendsColorData;equationred+blue+green=1;endColor;classColorparameterRealred=0.2;parameterRealblue=0.6;Realgreen;equationred+blue+green=1;endColor;从示例讲起苏州同元软控信息技术有限公司继承后如果有多个相同的声明,只保留一个声明。继承后如果对同一个元素有多个不同的声明,会报错。recordColorDataparameterRealred=0.2;parameterRealblue=0.6;Realgreen;endColorData;classErrorColorextendsColorData;parameterRealblue=0.6;parameterRealred=0.3;equationred+blue+green=1;endErrorColor;正确错误声明的继承苏州同元软控信息技术有限公司继承后如果有多个语法上相同的方程,只保留一个方程。继承后如果语法上不等价但数学上等价的多个方程,不会报错,但可能造成模型过约束。classColorparameterRealred=0.2;parameterRealblue=0.6;Realgreen;equationred+blue+green=1;endColor;classColor2extendsColor;equationred+blue+green=1;endColor2;classColor3extendsColor;equationred+blue+green=1.0;endColor3;正确错误方程的继承苏州同元软控信息技术有限公司=0.2;parameterRealblue=0.6;Realgreen;equationred+blue+green=1;endColor;classPointRealx;Realy,z;endPoint;classColoredPointRealx;Realy,z;parameterRealred=0.2;parameterRealblue=0.6;Realgreen;equationred+blue+green=1;endColoredPoint;classColoredPointextendsPoint;extendsColor;endColoredPoint;多重继承苏州同元软控信息技术有限公司只保留一份Point钻石继承多重继承(((苏州同元软控信息技术有限公司以上继承为一般的语法形式继承下面介绍另一种继承的方式——简短类继承方式苏州同元软控信息技术有限公司=Color;classSameColorextendsColor;endSameColor;通常用于为类型引入一个新的名字,如:typeResistor=Real;connectorMyPin=Pin;简短类——简捷的继承((typeCurrent=Real(unit=“A”);classCurrentextendsReal(unit=“A”);//nomoreelementsdefinitionendCurrent;苏州同元软控信息技术有限公司保护继承:将extends继承语句放在protected关键字的作用区域中。保护继承后,基类的所有元素在派生类中都是protected访问权限。classColorparameterRealred=0.2;parameterRealblue=0.6;Realgreen;equationred+blue+green=1;endColor;classPointRealx;Realy,z;endPoint;classColoredPointRealx;Realy,z;protectedparameterRealred=0.2;parameterRealblue=0.6;Realgreen;equationred+blue+green=1;endColoredPoint;classColoredPointextendsPoint;protectedextendsColor;endColoredPoint;保护继承苏州同元软控信息技术有限公司演示:完成Interfacespartialmodel的建立完成从端口继承(对话框选择、直接文本输入)的压力源、LamRes、Orifice模型抽象与继承苏州同元软控信息技术有限公司抽象与继承Modelica提高·从示例讲起·声明的继承·方程的继承·多重继承·继承的方式·保护继承苏州同元软控信息技术有限公司高级特性1抽象与继承2参数变型3重声明4outer/inner5状态选择StateSelect6注解annotation苏州同元软控信息技术有限公司参数变型Modelica提高·概念·参数变型优先级·变型的应用苏州同元软控信息技术有限公司类是模型复用的前提,变型(Modification)修改声明方程,是模型复用的简洁有效手段。在元素变型或声明中定义为final的元素不能被变型或重声明修改。modelLowPassFilterparameterRealT=1;Realu,y(start=1);equationT*der(y)+y=u;endLowPassFilter;modelFiltersInSeriesLowPassFilterF1(T=2),F2(T=3);equationF1.u=sin(time);F2.u=F1.y;endFiltersInSeries;modelModifiedFiltersInSeriesFiltersInSeriesF12(F1(T=6),F2.T=11);endModifiedFiltersInSeries;typeAngle=Real(finalquantity=”Angle”,finalunit=”rad”,displayUnit=”deg”);Anglea1(unit=”deg”);//错误,因为unit声明为final!Anglea2(displayUnit=”rad”);//正确参数变型苏州同元软控信息技术有限公司优先级在模型实例化过程中,变型按照外层覆盖内层的原则进行合并。下例说明了变型的这种合并规则。参数变型苏州同元软控信息技术有限公司无缺省值parameterRealx2=2;//缺省值为2parameterC1x3;//x3.a无缺省值parameterC2x4(b=4);//x4.b缺省值为4parameterC1x5(a=5);//x5.a缺省值为5extendsC1;//继承而来的元素a没有缺省值extendsC2(b=6,c=77);//继承得到的元素b缺省值为6endC3;classC4extendsC3(x2=22,x3(a=33),x4(c=44),x5=x3,a=55,b=66);endC4;参数变型苏州同元软控信息技术有限公司