MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [MATLAB基础] 关于Matlab中的类编程设计问题?麻烦大家帮忙解答一下? (https://www.labfans.com/bbs/showthread.php?t=9679)

oudinghua 2009-09-15 23:05

关于Matlab中的类编程设计问题?麻烦大家帮忙解答一下?
 
1 子类如何继承父类的特性,他们的文件是不是都存放在一个目录下?我在学习《精通Matlab》一书是发现书中第八章例8.57根本无法运行通过,子类无法继承父类信息。而且是按照书上原代码运行。Matlab软件版本为7.5.0.初学,请各位指点一下。
2 《精通Matlab》一书第八章例8.57的构造函数asset无法运行,程序如下:
function a=asset(varargin)
switch nargin
case 0
a.descriptor='none';
a.date=date;
a.type='none';
a.currentValue=0;
a=class(a,'asset');
case 1
if(isa(varargin{1},'asset'))
a=varargin{1};
else
error('Wrong argument type')
end
case 3
a.descriptor=varargin{1};
a.date=date;
a.type=varargin{2};
a.currentValue=varargin{3};
a=class(a,'asset');
otherwise
error('Wrong number of input argument')
end
在命令行输入:XYZStock=asset('XYZ',100,25)
提示出错信息:
??? Error using ==> class
Field names and parent classes for class asset cannot be changed without clear classes.

Error in ==> asset.asset at 20
a=class(a,'asset');
我研究了半天,把语句a=class(a,'asset');删除了能运行,但是子类始终不能继承父类的属性。摆脱各位高手赐教,谢谢谢谢

oudinghua 2009-09-16 01:19

回复: 关于Matlab中的类编程设计问题?麻烦大家帮忙解答一下?
 
我自己已经解决了,写在这里期望遇到此类的读者节约研读时间。其实很简单在执行你的基类或子类操作之前运行命令clear classes就可以了。


所有时间均为北京时间。现在的时间是 03:06

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.