找回密码
 注册
关于网站域名变更的通知
查看: 407|回复: 1
打印 上一主题 下一主题

请问有谁知道如何实现子类转基类?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-4-14 14:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
请问有谁知道如何实现子类转基类?
4 w; d( E/ _5 O/ V. R" S8 U! o3 s$ X类的定义如下:
- l  [' G9 g5 Z; f& ^
  • <div>% Matlab 2018B</div><div>classdef (Abstract) baseclass < handle
  • </div>    methods
  •          run(obj);
  •     end
  • end
  • classdef derived1 < baseclass
  •     methods
  •         function obj = derived1()
  •         end
  •         function run(obj)
  •             disp('derived1');
  •         end
  •     end
  • end
  • classdef derived2 < baseclass
  •     methods
  •         function obj = derived2()
  •         end
  •         function run(obj)
  •             disp('derived2');
  •         end
  •     end
  • end
  • 0 t8 S) v: k# v& u& V  v4 q
) m& }5 b& k  E( D: R

; V# V+ E- d7 f4 C5 `) r7 E+ Z. u  g& r' j, }- z
我试图把几个子类对象拼成一个基类类型的向量,不成功。
2 `; }* y# l' [2 Z3 E6 V1 o/ F错误提示:
7 I* H0 M9 D; a3 B>> [derived1() derived2()]
( l' @8 O0 p3 v2 C错误使用 horzcat
0 q/ Z; G5 l( d3 I7 h  u" i5 v从 derived2 转换为 derived1 时出现以下错误:, ~$ y/ p' l# B
输入参数太多。3 Y- D8 O0 O: q; ]0 ~3 f, _

; x$ F+ X) r  g, S( m- ?+ i>> baseclass(derived1())
" E; S! B2 w1 E7 ~) z  h错误使用 baseclass$ m- F  i  |# e6 C2 D5 C
输入参数太多。7 A& W; k! m2 Z0 C. |

! q% G" x5 A1 |7 {0 A* V/ R6 Q6 O5 U( H! `
使用系统自带的line scatter等类去做相同操作是成功的,能够得到基类graphics 的对象数组。# A& F& V, x/ v  @5 k
>> hold all;[plot([1 2 3 4 5]),scatter([1 2 3 4 5],[2 3 4 5 6])]
5 R" Q0 R: k7 \& [9 ~; a0 [ans =
' J7 ?; l% l" e' W5 ]: B  1×2 graphics 数组:
9 p% q6 ]- A: k% c( P' q0 _9 C) u    Line       Scatter: v" u3 _& j/ z' f
请问能否实现与此类似的效果,把几个子类对象拼成一个基类类型的向量?需要如何修改?+ `# N3 P! H& Y) u% c+ o( R
  • TA的每日心情
    开心
    2019-11-20 15:05
  • 签到天数: 2 天

    [LV.1]初来乍到

    2#
    发表于 2020-4-14 17:57 | 只看该作者
    1 h/ ]3 K5 j) i. y
    试试把第一行 classdef (Abstract) baseclass < handle 改为- h8 G! S6 z- U! W: c* w
    classdef (Abstract) baseclass < handle&matlab.mixin.Heterogeneous6 N" I, o, N4 i$ t! ^' J  f  M1 A

    5 C% j7 M/ x+ @/ O即可正常工作。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-24 01:51 , Processed in 0.140625 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表