Weisen Sie den Getter dynamisch für eine abhängige Eigenschaft in MATLAB zu

In Matlab kann ich eine Klasse als solche definieren:

classdef klass < handle
    properties(Dependent)
        prop
    end
end

Matlab ist vollkommen glücklich, ein Objekt dieser Klasse zu instanziieren, auch ohne einen Getter für zu definierenprop. Es schlägt nur fehl, wenn ich versuche, darauf zuzugreifen (verständlicherweise). Ich möchte das einstellenGetMethod dynamisch basierend auf dem Namen der Unterkunft.

Leider, auch wenn die Eigenschaft abhängig ist, diemeta.property Feld fürGetMethod ist immer noch schreibgeschützt. Und beim Erben vondynamicprops erlauben könnteHinzufügen Ich glaube nicht, dass es verwendet werden kann, um eine vorhandene Eigenschaft zu ändern. Ich muss vielleicht diesen Weg gehen, aber alsprop Muss Es gibt für jedes Objekt, für das ich es vorziehen würde, den Getter einfach auf Klassenbasis festzulegen. Ist so etwas möglich?

Eine alternative Lösung könnte eine Art Catch-All-Methode sein. In anderen Sprachen könnte dies durch ein Ruby-like erreicht werdenmethod_missing oder ein PHP-like__get(). Aber meines Wissens gibt es in Matlab kein (dokumentiertes oder sonstiges) Analog.

(Mein Anwendungsfall: Diese Klasse wird von vielen benutzerdefinierten Unterklassen geerbt, und auf alle abhängigen Eigenschaften wird auf ähnliche Weise zugegriffen, nur basierend auf dem Eigenschaftsnamen. Anstatt Benutzer zum Schreiben aufzufordernget.* Methoden, die einen Aufruf des gemeinsamen Codes für jede ihrer abhängigen Eigenschaften umschließen, möchten sie alle dynamisch mit anonymen Funktionszeigern festlegen, die die erforderlichen Metadaten enthalten.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage