• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
张纯睿
博客园    首页    新随笔    联系   管理    订阅  订阅

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

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
版权声明:本文为博主原创文章,转载请附上博文链接!

posted @ 2019-01-10 15:29  张纯睿  阅读(3903)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3