Convert a Nested Struct to a Class
5 次查看(过去 30 天)
显示 更早的评论
Dear all,
I created a 3-layer nested structure in Matlab. Currently I name it as S. However, I will also need to have many variales with the same structure. I need S1, S2.....S100.
I realize that using class will be more helpful. If I have a class S_Class, my variables S1, S2.....S100 can be defined as:
- S1 = S_Class;
- S2 = S_Class;
Therefore, by using the class, I don't have to create the same structure for 100 times. Is my understaning correct?
If it is the case, how could I convert current 3-layer nested struct to a class?
Take the following code as an example
classdef S_Class
properties
V1
V2
V3
end
end
I would like V2 to be a stucture with several fields or even another structure inside. Is this possible?
Best regards,
Mingliang
3 个评论
Adam
2019-1-16
Class properties can be anything you want, including objects of other classes or arrays of objects of other classes. They can be structs if you really want, though if you are converting the top level to classes I would strongly recommend converting the rest to appropriate classes too.
Objects can be stored in an array just like doubles so an array of 100 objects makes a lot more sense than 100 individual variables, each of 1 object.
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Structures 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!