首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MATLAB编解码器的多态性

MATLAB编解码器的多态性
EN

Stack Overflow用户
提问于 2015-08-27 19:58:41
回答 1查看 453关注 0票数 1

在MATLAB中,从matlab.mixin.Heterogeneous继承基类将允许良好的多态性。但是,在Coder中似乎不支持这一点。首先,有人能确认Coder不能使用matlab.mixin.Heterogeneous吗?如果没有,有没有人有一个很好的解决方法?

例如,我通常有一个名为For的ABC设置,它是从句柄和matlab.mixin.Heterogeneous派生的。然后我有矩形和圆圈从形状派生出来。我希望能有这样的数组:

代码语言:javascript
复制
classdef Shape < handle & matlab.mixin.Heterogeneous
classdef Circle < Shape
classdef Rectangle < Shape
harray = [Rectangle(height, width), Circle(radius)];

在Matlab中,harray变成了一种"1x2 heterogeneous Shape (Rectangle, Circle) array“。

在Coder中,我在构建过程中得到了错误"Base class 'matlab.mixin.Heterogeneous' cannot be loaded.“。

有什么办法吗?在我做疯狂的事情之前,我只想看看是否有明显的东西我错过了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-28 11:53:42

代码生成不支持matlab.mixin.Heterogeneous是正确的。我向MATLAB团队报告了您使用它的愿望和不清楚的错误信息。

对象数组是用于生成代码的不支持 (参见链接中的项目3)。如果你尝试:

代码语言:javascript
复制
[Circle(1), Circle(1)]

您将得到一个错误,说明这一事实:

???代码生成不支持对象数组。

如果没有这样的支持,matlab.mixin.Heterogeneous在代码生成方面可能不会有多大的实用价值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32258388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档