相关疑难解决方法(0)

属性如何在面向对象的MATLAB中工作?

我正在尝试使用一个成员变量来创建一个MATLAB类,该变量由于方法调用而被更新,但是当我尝试更改类中的属性时(显然,从我从MATLAB的内存管理中理解的)创建一个副本对象然后修改它,保持原始对象的属性不变.

classdef testprop  
    properties  
        numRequests=0;  
    end  
    methods  
        function Request(this, val)  
            disp(val);  
            this.numRequests=this.numRequests+1;  
        end  
    end  
end  
Run Code Online (Sandbox Code Playgroud)

.

>> a=testprop;
>> a.Request(9);
>> a.Request(5);  
>> a.numRequests  

ans = 0  
Run Code Online (Sandbox Code Playgroud)

oop matlab properties matlab-class

26
推荐指数
3
解决办法
2万
查看次数

基本的matlab类方法

可能重复:
如何修改Matlab对象的属性

我正在尝试将我的C#代码转换为Matlab,在Matlab中我决定使用OOP(我没有和Matlab一起使用)能够处理我的C#代码的复杂性.

看一下教程,我想出了以下代码:

classdef Cat
    properties
        meowCount = 0; 
    end
    methods 
        function Meow(C)
            disp('meowww'); 
            C.meowCount = C.meowCount + 1;
        end
    end    
end
Run Code Online (Sandbox Code Playgroud)

结果:

>> c = Cat();
>> c.Meow();
meowww
>> c

c = 

  Cat

  Properties:
     meowCount: 0

  Methods
Run Code Online (Sandbox Code Playgroud)

所以,meowCount不要改变.问题是什么?

matlab class

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

matlab ×2

class ×1

matlab-class ×1

oop ×1

properties ×1