classdef
类¶一个非常基本的classdef
值类(详见值类与句柄类)定义如下:
classdef some_class属性endproperties方法endmethodsendclassdef
与旧式类相比属性
-端属性
块以及method
-endmethods
块可以用于定义类的属性和方法。因为这两个块都是空的,所以在这种特殊情况下可以省略它们。
为了简单起见classdef
类显示使用多项式的
再举一个例子(详见创建类):
classdef多项式2属性poly=0;endproperty方法函数p=多项式2(a)如果(nargin==1)如果(isa(a,“多项式2”))p.poly=a.poly;elseif(isreal(a)&&isvector(a))p.poly=a(:).';#强制行向量else错误(“多项式2:A必须是实向量”);endif-endif-endfunction函数disp(p)a=p.poly;first=true;对于i=1:长度(a);如果(a(i)!=0)如果(first)first=false;elseif(a(i)>0||是一个(a(i))printf(“+”);endif if(a(i)<0)printf(“-”);endif if(i==1)printf(“%.5g”,abs(a(i)));elseif(abs(a(i))!=1) printf(“%.5g*”,abs(a(i)));endif if(i>1)printf(“X”);endif if(i>2)printf(“^%d”,i-1);endif endif endfor if(first)printf(“0”);endif printf(“\n”);endfunction endmethodsendclassdef
类的对象多项式2
是通过调用类构造函数创建的:
>>p=多项式2([1,0,1])⇒ p=1+X^2
版权所有 © 2024 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号