meta.method 类
命名空间: meta
超类: meta.MetaData
描述 MATLAB 类方法
描述
meta.method
类提供有关 MATLAB® 类方法的信息。meta.method
类的属性对应于在类定义中根据语法指定的方法特性和其他信息。所有属性都为只读属性。
meta.method
类是一个 handle
类。
创建对象
您不能直接对 meta.method
对象进行实例化。请通过 meta.class
对象的 MethodList
属性获取 meta.method
对象。MethodList
属性包含一个 meta.method
对象数组,每个类方法对应一个对象。
例如,在以下代码中,将 ClassName
替换为要查询其方法的类的名称:
mco = ?ClassName; mlist = mco.MethodList; mlist(1).Name; % name of first method in the list
要从类实例中获取 meta.class
对象,请使用 metaclass
函数:
mco = metaclass(obj);
属性
Name
— 方法名称
字符向量
以字符向量形式返回的方法名称。
Description
— 方法的简短描述
字符向量
方法的简短描述,以字符向量形式返回。对于用户定义的类,此属性的文本来自方法定义中的代码注释。如果没有注释,该属性将返回空字符向量。有关如何包含类方法的帮助文本的详细信息,请参阅自定义帮助文本。
DetailedDescription
— 方法的详细描述
字符向量
方法的详细描述,以字符向量形式返回。对于用户定义的类,此属性的文本来自方法定义中的代码注释。如果没有注释,该属性将返回空字符向量。有关如何包含类方法的帮助文本的详细信息,请参阅自定义帮助文本。
Access
— 方法的访问级别
public
(默认) | protected
| private
| 一个或多个 meta.class
对象
方法的访问级别,指定为:
public
- 不受限制的访问protected
- 从类或子类的方法进行访问private
- 仅通过类方法(而非从子类)进行访问可以访问此方法的类的列表,指定为
meta.class
对象,形式如下:单个
meta.class
对象。meta.class
对象元胞数组。空元胞数组{}
与private
访问权限相同。
数据类型: enumerated
| meta.class
Static
— 方法是否为静态方法
false
(默认) | true
是否为静态方法,以逻辑值 true
或 false
形式返回。当为 true
时,该方法不依赖于类的对象,也不要求对象作为输入。
有关详细信息,请参阅静态方法。
Abstract
— 方法是否为抽象方法
false
(默认) | true
是否为抽象方法,以逻辑值 true
或 false
形式返回。如果为 true
,则该方法没有实现,但该方法有可以包含参数的语法行。子类在该抽象方法签名之后实现方法。
Sealed
— 此方法是否可覆盖
false
(默认) | true
此方法是否可覆盖,以逻辑值 true
或 false
形式返回。如果设置为 true
,则无法在子类中重新定义方法。尝试在子类中定义同名的方法将会导致错误。
Hidden
— 此方法是否隐藏
false
(默认) | true
此方法是否隐藏,以逻辑值 true
或 false
形式返回。设置为 false
时,方法名称将显示在使用 methods
或 methodsview
命令显示的方法列表中。设置为 true
时,方法名称不包括在这些列表中,在命令行窗口中显示对象时也不显示方法名称。
InputNames
— 输入参数的名称
字符向量 | 字符向量元胞数组
函数签名中使用的输入参数的名称,以字符向量或字符向量元胞数组形式返回。
OutputName
— 输出参数的名称
字符向量 | 字符向量元胞数组
函数签名中使用的输出参数的名称,以字符向量或字符向量元胞数组形式返回。
DefiningClass
— 定义方法的类
meta.class
对象
定义方法的类,以表示定义类的 meta.class
对象形式返回。从 meta.method
对象的角度来看,定义类始终是最具体的类。因此,如果某子类覆盖了继承的方法,则子类 meta.method
对象的定义类就是该子类。同样,超类 meta.method
对象的定义类是该超类。
示例
使用自检来获取有关方法的信息
使用 meta.method
获取有关 IntrospectionExample
类的类方法的信息。
IntrospectionExample
的代码
classdef IntrospectionExample % IntrospectionExample Performs basic functions on two numbers % This class can return the sum and product of its two 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
创建并检查元类实例
创建 IntrospectionExample
的一个元类实例。访问 mc
的 MethodList
属性中的第一个方法,以获取 meta.method
对象。
mc = ?IntrospectionExample; 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 ExplicitConversion: 0 Hidden: 0 InputNames: {'obj'} OutputNames: {'prod'} DefiningClass: [1x1 meta.class]
版本历史记录
在 R2008a 中推出MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)