How to store objects from different classes in one array and call the same function (definitions are different)?
2 次查看(过去 30 天)
显示 更早的评论
Hello Everybody,
I have two subclasses:
- Line
- Arc
Their objects will be creating a path by appending them on their end. These have their own "plotCurve" methods. I want to store these objects in an arrayi in order such like:
path = [line1,line2,arc1,line3,arc2,arc3,line4,arc4,arc5...];
(I think "path" should be the object of superclass "Path")
when I code something like;
for i=1:size(path)
path(i).plotCurve;
hold on
end
the result should be show. I should be able to see the whole path. (So, when the object of "Line" comes "plotCurve" method should be run and same for Arc objects).
Thanks in advance,
0 个评论
回答(1 个)
Steven Lord
2020-7-30
See this documentation page for how to implement your classes so you can create a heterogeneous array.
By the way, I recommend you avoid using path as a variable name. It already has a meaning in MATLAB.
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!