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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
请问有谁知道如何实现子类转基类?
3 b5 ~4 d) p. q! }: Z类的定义如下:
$ p7 f& h/ y9 P# T, C& h& O
  • <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

  •   Q  i; Z% P3 r6 M  p

8 ?4 c) o  E" j
7 L: o$ b% a) x8 l1 A5 q7 ]! k4 S2 T5 \
我试图把几个子类对象拼成一个基类类型的向量,不成功。3 C- j' l+ X8 F$ v' w2 E
错误提示:8 ]9 J# _: r0 Z) C  r( N
>> [derived1() derived2()]2 o9 N  ?- X  A# A3 N0 {0 Y
错误使用 horzcat
  Z, E+ \  a6 w3 f+ N7 b从 derived2 转换为 derived1 时出现以下错误:3 {! v3 @% k! h6 C7 c4 e: l
输入参数太多。
6 N3 H: ]1 F( [" g% l' W: g
+ p. Y9 U. C& Z9 B; C3 s0 S>> baseclass(derived1())" K! T( S; \; P$ [. Q! r
错误使用 baseclass4 z5 R: {/ F- s# X
输入参数太多。, J5 `* l5 q- p9 Y
7 T& k: N/ Q, L4 V1 b
, K( Y6 b& O3 k/ C
使用系统自带的line scatter等类去做相同操作是成功的,能够得到基类graphics 的对象数组。
! D7 l; s/ J6 Q6 P; }>> hold all;[plot([1 2 3 4 5]),scatter([1 2 3 4 5],[2 3 4 5 6])]
! D1 J3 ]$ z7 b$ ]! J. bans =: Z8 s, S0 j5 l: k* K4 J; \
  1×2 graphics 数组:# s; `% T* h, M
    Line       Scatter8 X" W. E  A1 ?. j0 X" ?
请问能否实现与此类似的效果,把几个子类对象拼成一个基类类型的向量?需要如何修改?
, r7 J, }: _' p& t) L0 e! g: Q
  • TA的每日心情
    开心
    2019-11-20 15:05
  • 签到天数: 2 天

    [LV.1]初来乍到

    2#
    发表于 2020-4-14 17:57 | 只看该作者

    : z1 s, O! [# q. y试试把第一行 classdef (Abstract) baseclass < handle 改为  |4 I* {, O( [' F3 ^1 y0 W
    classdef (Abstract) baseclass < handle&matlab.mixin.Heterogeneous
    0 _9 U" u! z( v
    & V2 f8 X5 }% E! X! c# C即可正常工作。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

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

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

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

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