Main Content

matlab.metadata.Method Class

Namespace: matlab.metadata
Superclasses: matlab.metadata.MetaData

Describe MATLAB class method

Renamed from meta.method in R2024a

Description

The matlab.metadata.Method class provides information about the methods of MATLAB® classes. Properties of the matlab.metadata.Method class correspond to method attributes and other information that is specified syntactically in the class definition. All properties are read-only.

The matlab.metadata.Method class is a handle class.

Class Attributes

Abstract
true
ConstructOnLoad
true

For information on class attributes, see Class Attributes.

Creation

You cannot instantiate a matlab.metadata.Method object directly. Obtain a matlab.metadata.Method object from the MethodList property of a matlab.metadata.Class object. MethodList contains an array of matlab.metadata.Method objects, one for each class method.

For example, in this code, replace ClassName with the name of the class whose methods you want to query:

mco = ?ClassName;
mlist = mco.MethodList;
mlist(1).Name; % name of first method in the list

To obtain a matlab.metadata.Class object from a class instance, use the metaclass function:

mco = metaclass(obj);

Properties

expand all

Method name, returned as a character vector.

Short description of the method, returned as a character vector. For user-defined classes, the text for this property comes from code comments in the method definition. If there are no comments, the property returns an empty character vector. For more information on how to include help text for your class methods, see Custom Help Text.

Detailed description of the method, returned as a character vector. For user-defined classes, the text for this property comes from code comments in the method definition. If there are no comments, the property returns an empty character vector. For more information on how to include help text for your class methods, see Custom Help Text.

The access level of the method, specified as:

  • public — unrestricted access

  • protected — access from methods in class or subclasses

  • private — access by class methods only (not from subclasses)

  • List of classes that have access to this method, specified as matlab.metadata.Class objects in the form:

    • A single matlab.metadata.Class object.

    • A cell array of matlab.metadata.Class objects. An empty cell array, {}, is the same as private access.

Value of method attribute Static, returned as logical true or false. If true, the method does not depend on an object of the class and does not require an object as input.

For more information, see Static Methods.

Value of method attribute Abstract, returned as logical true or false. If true, the method has no implementation, but the method has a syntax line that can include arguments. For more information, see Abstract Classes and Class Members.

Value of method attribute Hidden, returned as logical true or false. If true, the method cannot be redefined in a subclass. Attempting to define a method with the same name in a subclass causes an error.

Value of method attribute Sealed, returned as logical true or false. When false, the method name appears in the list of methods displayed using the methods or methodsview command. When set to true, the method name is not included in these listings or when displaying the object in the Command Window.

Names of the input arguments used in the function signature, returned as a character vector or cell array of character vectors.

Names of the output arguments used in the function signature, returned as a character vector or cell array of character vectors.

Class that defines the method, returned as a matlab.metadata.Class object representing the defining class. The defining class is always the most specific class from the perspective of the matlab.metadata.Method object. Therefore, if a subclass overrides an inherited method, then the defining class for the subclass matlab.metadata.Method object is the subclass. Similarly, the defining class for the superclass matlab.metadata.Method object is the superclass.

Examples

collapse all

Use introspection to get inheritance information about the IntrospectionExample class.

classdef IntrospectionExample
    % IntrospectionExample  Performs basic functions on two numbers
    % Class methods find the sum and product of its properties.
    properties
        % a  First property
        % First of two numeric properties
        a {mustBeNumeric} = 0
        
        % b  Second property
        % Second of two numeric properties
        b {mustBeNumeric} = 0
    end
    
    methods
        function sum = addNumbers(obj)
            % addNumbers  Sum the properties
            %   Finds the sum of properties a and b.
            sum = obj.a + obj.b;
        end
        function prod = multNumbers(obj)
            % multNumbers  Multiply the properties
            %   Finds the product of properties a and b.
            prod = obj.a*obj.b;
        end
    end
end

Create a metaclass instance for IntrospectionExample.

mc = ?IntrospectionExample
mc = 

  Class with properties:

                    Name: 'IntrospectionExample'
             Description: 'Performs basic functions on two numbers'
     DetailedDescription: '  Class methods find the sum and product of its properties.'
                  Hidden: 0
                  Sealed: 0
                Abstract: 0
             Enumeration: 0
         ConstructOnLoad: 0
        HandleCompatible: 0
         InferiorClasses: [0×1 matlab.metadata.Class]
               Namespace: [0×0 matlab.metadata.Namespace]
                 Aliases: [0×1 string]
    RestrictsSubclassing: 0
            PropertyList: [2×1 matlab.metadata.Property]
              MethodList: [4×1 matlab.metadata.Method]
               EventList: [0×1 matlab.metadata.Event]
   EnumerationMemberList: [0×1 matlab.metadata.EnumerationMember]
          SuperclassList: [0×1 matlab.metadata.Class]


Access the first method in the MethodList property of mc to get a matlab.metadata.Method object.

mc.MethodList(1)
ans = 
  Method with properties:

                   Name: 'multNumbers'
            Description: 'Multiply the properties'
    DetailedDescription: '    Finds the product of properties a and b.'
                 Access: 'public'
                 Static: 0
               Abstract: 0
                 Sealed: 0
                 Hidden: 0
             InputNames: {'obj'}
            OutputNames: {'prod'}
          DefiningClass: [1x1 matlab.metadata.Class]

Version History

Introduced in R2008a

expand all