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

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

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

基本语法为:

classdefclassname类名

   properties类属性PropName

   end

   methods类方法  methodName

   end

   events类事件EventName

   end

   enumeration类列举EnumName

   end

end

类名



属性:






设置属性值:

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

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

语法:


示例:

  1. methods  
  2.       function obj = set.Material(obj,material)  
  3.          if ~(strcmpi(material,'aluminum') ||...  
  4.                strcmpi(material,'stainless steel') ||...  
  5.                strcmpi(material,'carbon steel'))  
  6.             error('Material must be aluminum, stainless steel, or carbon steel')  
  7.          end  
  8.          obj.Material = material;  
  9.       end % Material set function  
  10.         
  11.       function modulus = get.Modulus(obj)  
  12.          ind = find(obj.Strain > 0); % Find nonzero strain  
  13.          modulus = mean(obj.Stress(ind)./obj.Strain(ind));  
  14.       end % Modulus get function  
  15.         
  16.       function obj = set.Modulus(obj,~)  
  17.          fprintf('%s%d\n','Modulus is: ',obj.Modulus)  
  18.          error('You cannot set Modulus explicitly');  
  19.       end 
  20. end

方法method:

使用语法:

参数设定:


文件夹:

类文件保存:注意@名词空间(与类名相同,例子中都为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

猜你喜欢

转载自blog.csdn.net/qinze5857/article/details/80545885