oop: how to switch between passing by reference and value
5 ビュー (過去 30 日間)
古いコメントを表示
Hi all,
i've a class that inherits the "handle" class, objects therefore always passed by reference. But now I want to copy an array of objects of this class such that i can modify the original and the copy seperately. Is there any easy way to be able to decide between copying and object and passing it by reference?
Thank you!
0 件のコメント
採用された回答
Daniel Shub
2013 年 4 月 25 日
The documentation is pretty sparse, but also there: http://www.mathworks.co.uk/help/matlab/matlab_prog/copying-objects.html#brultwv
Copy Method for Handle Classes
Handle classes can derive copy functionality from the matlab.mixin.Copyable class. Class designers should investigate the use of this class in their class hierarchy design
0 件のコメント
その他の回答 (1 件)
Matt J
2013 年 4 月 25 日
編集済み: Matt J
2013 年 4 月 25 日
When you want an independent copy of a handle object, call the constructor to create a new instance of the class. Then, if necessary, copy the data over one property at a time. You could write a class method e.g., called clone(), to automate this for you.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Construct and Work with Object Arrays についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!