Я хотел бы иметь класс, который в своем конструкторе может иметь знание (извлечение как строку) своего имени экземпляра.Класс Matlab со знанием имени экземпляра в конструкторе
На данный момент я работал экстракцию имени вот так:
classdef mysession
methods (Access = public)
function this=mysession (varargin)
this.cargs=varargin;
this.built=false;
end
function id=build(this)
id=this.mynameis;
this.id = id;
%% instructions needing id
built=true;
end
function name = mynameis (this)
name=evalin ('caller', 'inputname');
end
end
properties (Access=private)
id
built
cargs
end
end
который требует уродливого синтаксиса
A = mysession; A.build
для того, чтобы работать ...
Зачем вам это нужно. Поскольку класс 'handle' передается по ссылке, вы можете технически иметь * две переменные *, которые указывают на * тот же * объект, поэтому он имеет * два * имена – Suever
извините, я просто скопировал код, который мне был предоставлен, и это это мой первый класс Matlab. вывод из дескриптора будет неправильным - экземпляры также должны быть неготовными, поскольку они действительно ссылаются на внешнюю базу данных объектов (таким образом, потребность в уникальном идентификаторе). – Davide
МЫ, скорее всего, дадим вам лучший ответ, если вы опишете, что вы на самом деле пытаетесь выполнить. – Suever