classdef MaClasse < nelson.mixin.indexing.RedefinesDot
| Paramètre | Description |
|---|---|
| obj | objet d'une classe derivee de nelson.mixin.indexing.RedefinesDot. |
| Paramètre | Description |
|---|---|
| obj | objet prenant en charge une indexation par point personnalisee. |
Dérivez de nelson.mixin.indexing.RedefinesDot pour donner à une classe son propre comportement d'indexation par point pour les noms qui ne sont pas des propriétés ou méthodes déclarées. Une sous-classe implémente les méthodes protégées dotReference(obj, indexOp) (valeur de obj.name), dotAssign(obj, indexOp, value) (obj.name = value) et dotListLength(obj, indexOp, indexContext).
indexOp est un nelson.indexing.IndexingOperation dont la propriété Name contient le nom accédé. Les propriétés et méthodes déclarées gardent leur comportement normal ; seuls les noms inconnus appellent dotReference/dotAssign.
classdef Bag < nelson.mixin.indexing.RedefinesDot
properties (Access = private)
Store
end
methods
function obj = Bag()
obj.Store = struct();
end
end
methods (Access = protected)
function varargout = dotReference(obj, indexOp)
varargout{1} = obj.Store.(indexOp.Name);
end
function obj = dotAssign(obj, indexOp, val)
obj.Store.(indexOp.Name) = val;
end
function n = dotListLength(obj, indexOp, ctx)
n = 1;
end
end
end
| Version | Description |
|---|---|
| 2.0.0 | version initiale |