主要内容

builtin

从已重载的方法执行内置函数

说明

builtin(func,x1,...,xn) 使用输入参量 x1xn 执行内置函数 func内置函数是 MATLAB® 可执行文件的一部分。

当您定义为类重载内置函数的方法时,可以使用 builtin 从重载内部执行原始内置函数。

示例

[y1,...,yn] = builtin(func,x1,...,xn)function 的任何输出存储在 y1yn 中。

示例

全部折叠

定义重载内置函数 disp 但也在重载方法中使用内置功能的类。

定义 MyParticle 类以描述结构体中粒子的速度,该结构体具有 xyz 方向的字段。为该类重载 disp,以便 MyParticle 的标量实例的默认显示也列出在 velocity 属性中存储的值。

classdef MyParticle
    properties
        velocity
    end
    methods
        function p = MyParticle(x,y,z)
            p.velocity.x = x;
            p.velocity.y = y;
            p.velocity.z = z;
        end
        function disp(p)
            builtin("disp",p)
            if isscalar(p)
                disp('  velocity')
                disp(['    x: ',num2str(p.velocity.x)])
                disp(['    y: ',num2str(p.velocity.y)])
                disp(['    z: ',num2str(p.velocity.z)])
            end
        end
    end
end

创建 MyParticle 的一个标量实例。对内置 disp 的调用提供标准的类显示,包括类名称和属性信息。由于该实例是标量,因此重载的 disp 方法还显示 velocity 中结构体的值。

a = MyParticle(1,2,3)
a = 

  MyParticle with properties:

    velocity: [1×1 struct]

  velocity
    x: 1
    y: 2
    z: 3

使用 builtin 调用 disp 可以访问默认 disp 行为。在重载方法中对 MyParticle 的实例调用 disp 而不使用 builtin 会导致无限循环。if 语句中对 disp 的调用不会导致无限循环,因为输入是字符向量,而不是 MyParticle 的实例。

输入参数

全部折叠

内置函数名称,指定为字符向量或字符串标量。func 不能是函数句柄。

func 的有效输入参量,指定为 func 的受支持数据类型的一个或多个值。

提示

  • 使用语法 which function 可以查看函数是否是内置函数。

  • 如果 builtin 重载,它将无法正常工作。

  • 该示例说明一种自定义类的默认显示的简单方法。有关更多显示自定义选项,请参阅Custom Display Interface

扩展功能

全部展开

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

版本历史记录

在 R2006a 之前推出