matlab——之class类(详细总结)

时间:2022-07-29 13:05:00

https://blog.csdn.net/qinze5857/article/details/80545885

开篇:搜了一下网上介绍matlab的class类,信息不全,且总结不全面,于是单独help classdef以下做个详细总结

首先从类的定义说起,面对对象的编程思维通常包括,属性(类成员变量),方法(类成员函数)

基本语法为:

classdefclassname类名

properties类属性PropName

end

methods类方法  methodName

end

events类事件EventName

end

enumeration类列举EnumName

end

end

类名

属性:

设置属性值:

使用属性set方法来验证分配给属性的值。 属性set方法可以执行诸如对输入值进行错误检查之类的操作,然后再采取任何必要的操作来存储新的属性值。

值类设置函数必须将修改后的对象返回给调用函数。 处理类不需要返回修改后的对象。

语法:

示例:

methods  
      function obj = set.Material(obj,material)  
         if ~(strcmpi(material,'aluminum') ||...  
               strcmpi(material,'stainless steel') ||...  
               strcmpi(material,'carbon steel'))  
            error('Material must be aluminum, stainless steel, or carbon steel')  
         end  
         obj.Material = material;  
      end % Material set function  
        
      function modulus = get.Modulus(obj)  
         ind = find(obj.Strain > 0); % Find nonzero strain  
         modulus = mean(obj.Stress(ind)./obj.Strain(ind));  
      end % Modulus get function  
        
      function obj = set.Modulus(obj,~)  
         fprintf('%s%d\n','Modulus is: ',obj.Modulus)  
         error('You cannot set Modulus explicitly');  
      end 
end

方法method:

使用语法:

参数设定:

文件夹:

类文件保存:注意@名词空间(与类名相同,例子中都为classNameA)
注意@名词空间(与类名相同,例子中都为classNameA)

添加部分:

当我使用时,我发现如何调用这里面的class以及其他.m函数呢

1、函数调用

2、类调用

参考:类文件夹,分开定义一个类;http://www.cnblogs.com/jmpep/archive/2012/06/29/4486346.html

参考:类的继承以及类的使用;https://blog.csdn.net/beechina/article/details/50933860

参考:百度文库定义一个类;https://wenku.baidu.com/view/5b19e78f50e2524de5187e59.html
---------------------
作者:sleep199
来源:CSDN
原文:https://blog.csdn.net/qinze5857/article/details/80545885
版权声明:本文为博主原创文章,转载请附上博文链接!