课程可以重新定义matlab®通过实现具有相同名称的方法来函数。在定义要表现得像现有MATLAB类型的专用类型时,重载是有用的。例如,您可以实现关系操作,绘图函数和其他常用的MATLAB函数来与类的对象一起使用。
您还可以通过实现控制这些行为的特定函数来修改默认行为。有关修改默认行为的函数的更多信息,请参阅修改默认行为的方法。
类方法可以提供仅在类的实例上运行的MATLAB函数的实现。这种限制是可能的,因为MATLAB可以始终标识对象所属的类。
Matlab使用主导参数来确定要调用的函数的版本。如果主导参数是一个对象,则Matlab调用对象类定义的方法,如果存在。
在类定义具有与全局函数相同名称的方法的情况下,据说该类的函数的实现超载原始的全球实施。
超载MATLAB功能:
定义具有与要过载的函数相同的名称的方法。
确保方法参数列表接受类的对象,Matlab用于确定要调用的版本。
在方法执行函数的方法中执行必要的步骤。例如,访问对象属性以操纵数据。
通常,重载函数的方法产生类似于MATLAB函数的结果。但是,有关如何实现重载方法的要求无要求。重载方法不需要匹配重载功能的签名。
笔记
MATLAB不支持使用不同函数名金宝app称的不同签名的重载函数。
它方便过载通常使用的功能与您的类对象一起使用。例如,假设一个类定义一个存储通常图表的数据的属性。这mydata.
班级覆盖了酒吧
函数并为图添加标题:
Classdef.mydata.特性数据结尾方法功能obj = mydata(d)如果nargin> 0 obj.data = d;结尾结尾功能酒吧(obj)y = obj.data;酒吧(y,'Edgecolor'那'r');标题('我的数据图')结尾结尾结尾
这mydata.
酒吧
方法与matlab具有与matlab相同的名称酒吧
功能。然而mydata.
酒吧
方法需要A.mydata.
对象作为输入。因为该方法是专门的mydata.
对象,它可以从中提取数据数据
属性并创建专业图形。
用来酒吧
方法,创建一个对象:
y =兰特(1,10);md = mydata(y);
使用该对象调用方法:
酒吧(MD)
您还可以使用dot表示法:
md.bar.
旨在实现新MATLAB数据类型的类通常定义某些运算符,例如添加,减法或平等。
例如,标准MATLAB添加(+
)不能添加两个多项式,因为该操作没有通过简单的添加定义。但是,A.多项式
班级可以定义自己的加
matlab语言调用执行添加的方法多项式
当你使用时的物体+
象征:
P1 + P2.
有关过载运营商的信息,请参阅操作员重载。
方法,属性和事件的名称是范围的。因此,遵守以下规则以避免命名冲突:
您可以重用在不相关的类中使用的名称。
如果成员没有公共或受保护的访问,则可以重用子类中的名称。然后,这些名称可以在不影响超类定义的情况下引用完全不同的方法,属性和事件
在类中,所有名称都存在于同一名称空间中,并且必须是唯一的。类无法定义具有相同名称的两种方法,并且类无法定义具有与方法相同的本地函数。
在没有其类前缀的情况下考虑静态方法的名称。因此,没有其类前缀的静态方法名称不能匹配任何其他方法的名称。