Main Content

getPropertyGroups

类: matlab.mixin.CustomDisplay
命名空间: matlab.mixin

构造自定义属性组的数组

语法

groups = getPropertyGroups(obj)

说明

groups = getPropertyGroups(obj) 返回一个由 matlab.mixin.util.PropertyGroup 对象组成的 1×N 数组,其中 N 是组的数量。MATLAB® 显示用空格分隔的属性组。每个默认显示状态处理程序方法都调用此方法一次。覆盖此方法以构造要显示的一个或多个自定义属性组。

默认实现在一个组中返回这些属性。这些属性必须具有公共 GetAccess 且不能定义为 Hidden。如果该对象为标量,则 MATLAB 包括动态属性。

每个组对象数组都具有以下字段:

  • Title - 用作属性组头部的文本,或者如果不使用头部,则为空字符串。

  • PropertyList - 属性列表可以为:

    • 由属性名称和对应的值组成的 1×1 struct

    • 由属性名称构成的元胞数组

如果该对象为标量并且您希望分配自定义属性值,则使用 struct。否则,使用由属性名称构成的元胞数组。如果该对象为标量,则 MATLAB 添加从该对象检索的属性值。

输入参数

全部展开

要对其应用自定义属性组格式的对象数组。obj 的类必须从 matlab.mixin.CustomDisplay 派生。

输出参量

全部展开

由 1×N matlab.mixin.util.PropertyGroup 对象组成的数组,其中 N 是组的数量。

属性

Accessprotected

要了解方法的属性,请参阅方法属性

示例

全部展开

为类显示创建两个属性组。

EmployeeInfo 类有五个描述雇员的属性。定义 getPropertyGroups 方法,对于标量对象,该方法定义两个 PropertyGroup 对象。该方法返回标题为 Employee BioContact Info 的两个属性组。

classdef EmployeeInfo < matlab.mixin.CustomDisplay
    properties
        Name = "Alex Doe"
        Department = "Development"
        JobTitle = "Engineer"
        Email = "alexdoe@notacompany.org"
        Phone = "(555) 555-555"
    end

    methods (Access = protected)
        function propgrp = getPropertyGroups(obj)
            if ~isscalar(obj)
                propgrp = getPropertyGroups@matlab.mixin.CustomDisplay(obj);
            else
                bioList = ["Name","Department","JobTitle"];
                bioTitle = "Employee Bio";
                bioGrp = matlab.mixin.util.PropertyGroup(bioList,bioTitle);
                contactList = ["Email","Phone"];
                contactTitle = "Contact Info";
                contactGrp = matlab.mixin.util.PropertyGroup(contactList,contactTitle);
                propgrp = [bioGrp,contactGrp];
            end
        end
    end
end

创建一个标量实例来查看属性是如何显示的。

a = EmployeeInfo
a = 

  EmployeeInfo with properties:

   Employee Bio
          Name: "Alex Doe"
    Department: "Development"
      JobTitle: "Engineer"

   Contact Info
         Email: "alexdoe@notacompany.org"
         Phone: "(555) 555-555"

版本历史记录

在 R2013b 中推出