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
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM