Matlab策略模式
发布日期:2021-07-27 05:17:35 浏览次数:5 分类:技术文章

本文共 988 字,大约阅读时间需要 3 分钟。

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

Strategy.m

classdef Strategy < handle    methods(Abstract)        doOperation(~,~,~);    endend

OperationAdd.m

classdef OperationAdd < Strategy    methods        function res = doOperation(~,num1,num2)            res = num1 + num2;        end    endend

 OperationMultiply.m

classdef OperationMultiply < Strategy    methods        function res = doOperation(~,num1,num2)            res = num1 * num2;        end    endend

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    endend

测试代码:

context = Context(OperationAdd());disp("2 + 3 = " + context.executeStrategy(2, 3)); context =Context(OperationMultiply());disp("2 * 3 = " + context.executeStrategy(2, 3));

转载地址:https://blog.csdn.net/qq_45534061/article/details/107173005 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:架构整洁之道
下一篇:BUAA-OO-2019 第三单元总结

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年09月12日 16时03分23秒