Creation of multiple objects in same class

20 views (last 30 days)
If any class is defined then how I can create different objects of the same class. Answers with suiable examples are appreciated. Thanks

Accepted Answer

Steven Lord
Steven Lord on 27 Apr 2021
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 Comments
Steven Lord
Steven Lord on 27 Apr 2021
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
VIJAYKUMAR KAMBLE
VIJAYKUMAR KAMBLE on 27 Apr 2021
Thank You very much sir . I got my answer.

Sign in to comment.

More Answers (0)

Categories

Find more on Construct and Work with Object Arrays in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!