Main Content

matlab.mixin.util.PropertyGroup 类

命名空间: matlab.mixin.util

用于对象显示的自定义属性列表

描述

使用 PropertyGroup 类为派生于 matlab.mixin.CustomDisplay 的类创建自定义属性显示列表。您可以更改属性的显示顺序,指定要显示的属性,并向列表添加标题。

类属性

HandleCompatible
true

有关类属性的信息,请参阅类属性

创建对象

描述

P = matlab.mixin.util.PropertyGroup(propertyList) 构造一个属性组对象,其 PropertyList 属性设置为 propertyList

示例

P = matlab.mixin.util.PropertyGroup(propertyList,title) 构造一个属性组对象,其 TitleTitle 属性设置为 title。标题显示在属性列表的上方。

属性

全部展开

PropertyList 属性中包含的属性数,指定为正整数。

属性:

Dependent
true
Transient
true
GetAccess
public
SetAccess
public
GetObservable
true

要包含在组中的属性的列表,指定为字符向量元胞数组、字符串数组或以字段名称形式包含属性的结构体。

属性:

GetAccess
public
SetAccess
public
GetObservable
true
SetObservable
true

自定义属性组的标题。如果未指定,则显示不带标题的属性组。

属性:

GetAccess
public
SetAccess
public
GetObservable
true
SetObservable
true

示例

全部折叠

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

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 中推出