当前位置: 移动技术网 > IT编程>软件设计>设计模式 > Matlab策略模式

Matlab策略模式

2019年05月18日  | 移动技术网IT编程  | 我要评论

策略模式的意图是定义一系列算法,把它们一个一个封装起来,并且使它们可以互相替换。通常每个策略算法不可抽象再分。本人仿照所给的例子,用matlab代码对其进行实现

strategy.m

classdef strategy < handle
    methods(abstract)
        dooperation(~,~,~);
    end
end

operationadd.m

classdef operationadd < strategy
    methods
        function res = dooperation(~,num1,num2)
            res = num1 + num2;
        end
    end
end

 operationmultiply.m

classdef operationmultiply < strategy
    methods
        function res = dooperation(~,num1,num2)
            res = num1 * num2;
        end
    end
end

context.m

classdef context < handle
    properties
        strategy
    end   
    methods
        function obj = context(strategy)
            obj.strategy = strategy;
        end        
        function res = executestrategy(obj,num1,num2)
            res = obj.strategy.dooperation(num1,num2);
        end
    end
end

测试代码:

context = context(operationadd());
disp("2 + 3 = " + context.executestrategy(2, 3));
 
context =context(operationmultiply());
disp("2 * 3 = " + context.executestrategy(2, 3));

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网