自定义标题、属性列表和页脚
客观的
定制每一个显示的三个部分——头,房地产集团和页脚。
设计自定义显示
请注意
下面的例子使用了EmployeeInfo
类所描述的类用默认对象显示部分。
标题:
使用默认标题nonscalar对象数组。
构建标题文本类名和部门名称(从有关
部门
属性)
属性:
Nonscalar对象数组显示的一个子集比默认属性名以不同的顺序。
标量对象创建两个头衔的房地产集团(
公共信息
和个人信息
)。
页脚:
页脚添加到显示,只有当显示的对象是一个有效的标量属性值。
这是定制显示的对象EmployeeInfo
类。
Emp123 =EmployeeInfo部门:产品开发公共信息名称:比尔托克的职务高低:“软件工程师”个人工资信息:1000密码:bill123公司私有化
这是自定义显示的数组EmployeeInfo
对象:
[Emp123, Emp124] ans = 1 x2EmployeeInfo数组的属性:部门名称职务高低
这是显示一个空对象的数组:
> > EmployeeInfo.empty x5 (0 5) ans = 0EmployeeInfo数组的属性:部门名称职务高低
这里是显示的处理删除对象(EmployeeInfo
是一个处理类):
> >删除(Emp123) > > Emp123 Emp123 =句柄被删除EmployeeInfo
实现
的EmployeeInfo
类覆盖三个matlab.mixin.CustomDisplay
方法来实现显示如图所示:
每个方法必须与以下产生所需的结果输入:
标量对象
Nonscalar对象数组
空对象数组
getHeader方法覆盖
MATLAB®调用getHeader
标题文本。的EmployeeInfo
类重写这个方法来实现自定义标量显示的标题。这是它是如何工作的:
Nonscalar(包括空对象)数组调用超类
getHeader
,它返回默认的标题。标量处理删除对象不会导致调用
getHeader
。标量输入构建一个定制的标题使用
getClassNameForHeader
静态方法返回与类名文本,和的值部门
财产。
这是EmployeeInfo
覆盖的getHeader
方法。所需的保护访问从超类继承。
方法(访问=保护)函数头= getHeader (obj)如果~ isscalar (obj)头= getHeader@matlab.mixin.CustomDisplay (obj);其他的className = matlab.mixin.CustomDisplay.getClassNameForHeader (obj);newHeader =(类名,的部门:obj.Department);头= sprintf (“% s \ n”,newHeader);结束结束结束
getPropertyGroups覆盖
MATLAB调用getPropertyGroups
得到PropertyGroup
对象,控制如何显示属性。该方法覆盖定义了两个不同的属性列表取决于对象的状态:
nonscalar输入,包括空数组和数组包含处理删除对象,创建一个属性列表作为一个单元阵列来重新排序属性。
默认情况下,MATLAB nonscalar不显示属性值输入。
对于标量输入,创建两个房地产集团标题。标量代码分支列表属性比nonscalar案例,包括不同的顺序
工资
和密码
属性。MATLAB自动分配属性值。标量处理删除对象不会导致调用
getPropertyGroups
。
两个分支返回一个matlab.mixin.util.PropertyGroup
对象,它决定如何显示对象属性。
这是EmployeeInfo
覆盖的getPropertyGroups
方法。受保护访问从超类继承。
方法(访问=保护)函数propgrp = getPropertyGroups (obj)如果~ isscalar (obj) propList = {“部门”,“名字”,“职务高低”};propgrp = matlab.mixin.util.PropertyGroup (propList);其他的gTitle1 =“公共信息”;gTitle2 =“个人信息”;propList1 = {“名字”,“职务高低”};propList2 = {“工资”,“密码”};propgrp (1) = matlab.mixin.util.PropertyGroup (propList1 gTitle1);propgrp (2) = matlab.mixin.util.PropertyGroup (propList2 gTitle2);结束结束结束
getFooter覆盖
MATLAB调用getFooter
页脚文本。的EmployeeInfo
getFooter
方法定义了一个页脚显示,包括只有当输入一个有效的标量对象。在所有其他情况下,getFooter
返回一个空字符
向量。
标量处理删除对象不会导致调用getFooter
。
方法(访问=保护)函数页脚= getFooter (obj)如果isscalar (obj)页脚= sprintf (“% s \ n”,“公司私有化”);其他的页脚=”;结束结束结束