superiorto()函数的现代等价物



我正在重写一个旧的MATLAB包。作为重写的一部分,我将使用class()函数定义的两个类(称为old_class1old_class2(更新为使用classdef定义的类。

old_class1的定义包含行superiorto('old_class2')。在用classdef定义的构造函数中不允许使用此函数,但我找不到任何等效函数。如何在用classdef定义的类中创建等效于superiorto()的功能?

superiorto在MATLAB中不再可用,但我找到了一份旧文档的副本,该副本表明,当多个不同的类作为函数参数时,它用于确定调用哪个对象的方法。例如,给定obj1=class1()obj2=class2(),其中class1构造函数包含superiorto('class2'),将导致function(obj1,obj2) to callclass1.function, rather thanclass2.function `.

使用现代classdef功能,可以通过设置InferiorClasses属性来实现相同的功能:

classdef (InferiorClasses = {?class2}) class1

相关内容

  • 没有找到相关文章

最新更新