Main Content

Enumerations for Property Values

Syntax for Property/Enumeration Definition

You can restrict the values that are allowed for a property to members of an enumeration class. Define the property as restricted to a specific enumeration class in the class definition using this syntax:

properties
   PropName EnumerationClass
end

This syntax restricts values of PropName to members of the enumeration class EnumerationClass.

Example of Restricted Property

For example, the Days class defines a property named Today. The allowed values for the Today property are enumeration members of the WeekDays class.

The WeekDays class defines the enumerations:

classdef WeekDays
   enumeration
      Monday, Tuesday, Wednesday, Thursday, Friday
   end
end

Use the WeekDays enumerations to restrict the allowed values of the Today property:

classdef Days
   properties
      Today WeekDays
   end
end

Create an object of the Days class.

d = Days;
d.Today = WeekDays.Tuesday;
d = 

  Days with properties:

    Today: Tuesday

Representing Enumeration Members with char Vectors

The automatic conversion feature enables users of the Days class to assign values to the Today property as either enumeration members, char vectors, or string scalars. The Today property is restricted to members of the WeekDays enumeration class. Therefore, you can assign a char vector that represents a member of the WeekDays class.

d = Days;
d.Today = 'Tuesday';

Also, you can use a string scalar:

d = Days;
d.Today = "Tuesday";

For more information on restricting property values, see Validate Property Values and Property Class and Size Validation.