Creation of multiple objects in same class

16 次查看(过去 30 天)
If any class is defined then how I can create different objects of the same class. Answers with suiable examples are appreciated. Thanks

采纳的回答

Steven Lord
Steven Lord 2021-4-27
It depends. Is that class a handle class or a value class? If value, just call the constructor or do whatever you need to instantiate an instance. In this example A and B are both table arrays but modifying one doesn't modify the other. Even after I change one of the elements of B the corresponding element of A is unchanged.
A = array2table(magic(4))
A = 4×4 table
Var1 Var2 Var3 Var4 ____ ____ ____ ____ 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1
B = A;
B{2, 'Var3'} = NaN
B = 4×4 table
Var1 Var2 Var3 Var4 ____ ____ ____ ____ 16 2 3 13 5 11 NaN 8 9 7 6 12 4 14 15 1
A
A = 4×4 table
Var1 Var2 Var3 Var4 ____ ____ ____ ____ 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1
If a handle class, it can be more difficult unless the class wants you to be able to copy it.
  3 个评论
Steven Lord
Steven Lord 2021-4-27
If you're asking if you can create variables named CLM_60_RP, CLM_80_RP, etc. you can do this but you shouldn't.
I'd make a struct array or a table array to contain your objects instead.
pins.CLM_60_RP = 42 % Using a hard-coded field name
pins = struct with fields:
CLM_60_RP: 42
pinname = 'CLM_80_RP';
pins.(pinname) = -99 % Using a dynamic field name
pins = struct with fields:
CLM_60_RP: 42 CLM_80_RP: -99
y = pins.CLM_60_RP % Retrieve data the same way
y = 42
z = pins.(pinname)
z = -99

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by