Вы должны быть в состоянии сделать:
classdef (Abstract, HandleCompatible) A
methods (Abstract)
function foo
end
end
classdef AA < A & handle
methods
function foo
...
end
end
end
classdef B < A
methods
function foo
...
end
end
end
Здесь вы помечаете A
как Abstract
абстрактным методом foo
. Так что AA
и B
должны оба реализовывать foo
. Вы также помечаете A
как HandleCompatible
, что означает, что подклассы могут быть дескрипторами.
Тогда AA
наследует от A
и handle
, но B
наследует только от A
и является классом значений. Оба реализуют foo
.
Обратите внимание, что вам, возможно, придется позаботиться о том, как вы реализуете foo в каждом классе, поскольку сигнатура необходимой функции может варьироваться в зависимости от класса дескриптора и значения.