To fill in the preceding array elements, MATLAB calls the class constructor to create a
single object. MATLAB copies this object to all the remaining array elements. Calling the
constructor to create the default object resulted in another call to the randi function,
which returns a new random number:
A(1,1).RandNumb
ans =
10
MATLAB copies this second instance to all remaining array elements:
A(2,2).RandNumb
ans =
10
A(2,3).RandNumb
ans =
10
When initializing an object array, MATLAB assigns a copy of a single object to the empty
elements in the array. MATLAB gives each object a unique handle so that later you can
assign different property values to each object. The objects are not equivalent:
A(1,1) == A(2,2)
ans =
0
That is, the handle A(1,1) does not refer to the same object as A(2,2). The creation of
an array with a statement such as:
A(4,5) = InitHandleArray;
results in two calls to the class constructor. The first creates the object for array element
A(4,5). The second creates a default object that MATLAB copies to all remaining empty
array elements.
10 Object Arrays