Borrar filtros
Borrar filtros

Constructor for a class, that accepts name-value pairs for setting properties

29 visualizaciones (últimos 30 días)
Hello! Could anyone advise on how to write a class constructor, that accepts name-value pairs for setting properties? For the untouched properties it must use predefined values. Using like this:
X = classX('Prop1',val1,'Prop3',val3)
Thanks

Respuesta aceptada

Matt J
Matt J el 17 de Jun. de 2021
Editada: Matt J el 17 de Jun. de 2021
With a recent Matlab version, you can do,
classdef classX
properties
Prop1, Prop3;
end
methods
function obj=classX(namedArgs)
arguments
namedArgs.Prop1=default1;
namedArgs.Prop3=default3;
end
obj.Prop1=namedArgs.Prop1;
obj.Prop3=namedArgs.Prop3;
end
end
end

Más respuestas (0)

Categorías

Más información sobre Construct and Work with Object Arrays en Help Center y File Exchange.

Productos


Versión

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by