【问题标题】:Modern equivalent of the superiorto() function现代等价于superiorto() 函数
【发布时间】:2020-04-20 22:16:47
【问题描述】:

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

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

【问题讨论】:

    标签: matlab class object


    【解决方案1】:

    superiorto 在 MATLAB 中不再可用,但我能够找到 a copy of old documentation,这表明它用于确定在将多个不同的类作为函数参数给出时调用了哪个对象的方法。例如,给定obj1=class1()obj2=class2(),而class1 构造函数包含superiorto('class2'),将导致function(obj1,obj2) to callclass1.function, rather thanclass2.function`。

    借助现代的classdef 功能,setting the InferiorClasses property 也可以实现同样的功能:

    classdef (InferiorClasses = {?class2}) class1
    

    【讨论】:

      猜你喜欢
      • 2021-09-25
      • 2011-06-08
      • 2011-11-10
      • 2011-10-13
      • 2011-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多