Современный эквивалент функции superiorto () - PullRequest
1 голос
/ 21 апреля 2020

Я работаю над переписыванием старого пакета MATLAB. В рамках этого переписывания я обновляю два класса (давайте назовем их old_class1 и old_class2), определенные с помощью функции class(), для классов, определенных с помощью classdef.

Определение old_class1 содержит строку superiorto('old_class2'). Эта функция не разрешена в конструкторе, определенном с помощью classdef, но я не могу найти какой-либо эквивалент. Как создать функциональность, эквивалентную superiorto() в классе, определенном с помощью classdef?

1 Ответ

1 голос
/ 21 апреля 2020

superiorto больше не доступен в MATLAB, но мне удалось найти копию старой документации , которая указывает, что она использовалась, чтобы определить, какой метод объекта был вызван, когда несколько различных классов были заданы как функция аргументы. Например, данные obj1=class1() и obj2=class2() с конструктором class1, содержащим superiorto('class2'), вызовут function(obj1,obj2) to call class1.function , rather than class2.function`.

С современным classdef функциональность, то же самое можно сделать с помощью , установив InferiorClasses свойство :

classdef (InferiorClasses = {?class2}) class1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...