|
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 |
|