主要内容

使用常量值定义类属性

定义命名常数

您可以通过创建MATLAB来定义可以通过名称引用的常量®定义常量属性的类。

使用常量属性定义可以按名称访问的常量值。通过声明,创建具有常量属性的类持续的属性块中的属性。设置持续的属性意味着,一旦初始化为属性块中指定的值,就无法更改值。

将值分配给常量属性

将任何值分配给a持续的属性,包括Matlab表达式。例如:

Classdef.namedconst.特性(常量)r = pi / 180 d = 1 / namedconst.r acccode ='0145968740001110202npq'rn = rand(5)结尾结尾

加载类时,MATLAB评估表达式。因此,MATLAB值分配给rn.是单一呼叫的结果兰特功能,随后的引用没有改变namedconst.rn.。打电话清除班级导致MATLAB重新加载类并重新初始化常量属性。

引用常量属性

使用类名和属性名称引用常量:

班级名称Propname.

例如,使用namedconst.上一节中定义的类,参考常量到越弧度转换,R.

Radi = 45 * namedconst.r
Radi = 0.7854.

包装中的常量

要为可以按名称访问的常量值创建库,首先创建包文件夹,然后定义各种类来组织常量。例如,实现一组用于制作天文计算的常量,定义a星形电动机课程中的课程常数

+Constants/@astroconstants/astroconstants.m.

该类定义了一组持续的具有分配值的属性:

Classdef.星形电动机特性(常数)C = 2.99792458E8% 多发性硬化症g = 6.67259.%m / kgs我= 5.976e24.%地球质量(kg)重新= 6.378e6.%地球半径(m)结尾结尾

要使用这组常量,请使用完全限定的类名引用它们。例如,以下函数使用其中定义的一些常量星形间

功能e = lequenttoorbit(m,r)e = constantants.astronconstants.g * constantants.astroconstants.me * m *......(1 / constantants.astroconstants.re-0.5 * r);结尾

将包导入函数无需重复包名称(参见进口):

功能E = EnergyToorbit(M,R)导入常数。*;E = AstroConstants.g * AstroConstants.me * M *......(1 / AstroConstants.re  -  0.5 * r);结尾

常量属性分配了句柄对象

如果类定义具有句柄对象的值的常量属性,则可以将值分配给句柄对象属性。要访问句柄对象,请创建一个本地变量。

例如,Constmapclass.类定义了一个常量属性。常量属性的值是句柄对象(a容器.map.目的)。

Classdef.constmapclass 特性(常量)constmapprop = containers.map结尾结尾

将当前日期分配给日期键,从常量属性返回句柄,然后使用赋值语句左侧的局部变量进行分配:

localmap = constmapclass.constmappop localmap('日期')= DATSTR(时钟);

您无法在赋值语句的左侧使用引用对常量属性。例如,Matlab将以下语句解释为创建a塑造命名为Constmapclass.与一个领域Constmapprop.

constmapclass.constmapprop('date')= datestr(clock);

常量属性分配了任何对象

您可以将定义类的实例分配给常量属性。MATLAB在加载类时创建分配给常量属性的实例。仅在定义类是一个时使用此技术处理班级。

我的项目是这样一个类的一个例子:

Classdef.myproject 特性(常量)projectinfo = myproject结尾特性日期部门ProjectNumber.结尾方法(访问=私人)功能obj = myproject obj.date = datestr(clock);obj.department =.'工程';obj.projectnumber ='p29.367';结尾结尾结尾

通过该参考属性数据持续的财产:

myproject.projectinfo.date.
ANS = 18-APR-2002 09:56:59

因为我的项目是一个句柄类,可以将句柄置于分配给常量属性的实例:

p = myproject.projectInfo;

访问数据我的项目使用此句柄的类:

P.Department.
ans =工程

修改了不正常的属性我的项目使用此句柄的类:

P.Department =.'质量保证';

P.是一个对实例的句柄我的项目已分配给了ProjectInfo.持续财产:

myproject.projectinfo.department.
ANS =质量保证

清除类结果在分配新实例中我的项目到了ProjectInfo.财产。

清除我的项目myproject.projectinfo.department.
ans =工程

您可以将定义类的实例分配为只有在声明为属性的默认值持续的

常量属性 - 没有支持获取活动金宝app

常量属性不支持属性金宝app预先要么期刊事件。如果您设置了,MATLAB在类初始化期间发出警告getobservable.A的属性持续的财产真的

相关例子

更多关于