EDA365电子论坛网

标题: 请问有谁知道如何实现子类转基类? [打印本页]

作者: limopcb    时间: 2020-4-14 14:50
标题: 请问有谁知道如何实现子类转基类?
请问有谁知道如何实现子类转基类?. N1 ^  s" c/ Z. t8 j
类的定义如下:
: c8 P/ V* c4 B9 b# F/ R
2 W3 d$ ~% U# B2 d& t
/ _7 L, k+ H7 L* ^* U8 z" f" _
4 C, u4 V9 n3 o: I我试图把几个子类对象拼成一个基类类型的向量,不成功。
/ O% ~/ \% s- F% E* M错误提示:
$ A) T* F( N2 k9 F>> [derived1() derived2()]- i7 l) `* F8 a" }+ o( ^
错误使用 horzcat
9 u6 G' ]5 _; A2 m( m+ g从 derived2 转换为 derived1 时出现以下错误:
; S$ J) U# J5 P- @输入参数太多。
( r: N* K/ k; T" B) Y; x; `5 i6 a( W4 p% d: l2 x, d$ `
>> baseclass(derived1())
+ M! R( T$ F' k3 x6 b错误使用 baseclass
1 L: |7 a) }' H) b输入参数太多。
4 j7 L- p$ g. v1 X! F
( i( K" G. m: E$ ~% l. ^
- r4 m  |! {$ i6 @, j4 w* G0 f$ n使用系统自带的line scatter等类去做相同操作是成功的,能够得到基类graphics 的对象数组。- @7 u: U* c1 N& g- t2 F$ Z0 x$ ^
>> hold all;[plot([1 2 3 4 5]),scatter([1 2 3 4 5],[2 3 4 5 6])]( [, u- {7 ?  x+ Y- Z
ans =
6 D0 r! c. E: f  X- B  1×2 graphics 数组:7 N( ~3 X7 p  a
    Line       Scatter
3 {$ d. b3 N6 @, J. _" q请问能否实现与此类似的效果,把几个子类对象拼成一个基类类型的向量?需要如何修改?
( n; W2 {8 P( Z* Z! y! }# T. q
作者: Colbie    时间: 2020-4-14 17:57
  F' O2 e) l! R9 R! s6 R; g8 C
试试把第一行 classdef (Abstract) baseclass < handle 改为7 s7 R% @8 n+ y+ p
classdef (Abstract) baseclass < handle&matlab.mixin.Heterogeneous- K  D7 B5 J" a  j0 W# H9 M
- `7 k/ M& ]7 J  Y# M
即可正常工作。




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2