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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2024年09月12日 16时03分23秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
关于Vue-cli+ElementUI项目 打包时排除Vue和ElementUI
2019-05-27
Vue 路由懒加载根据根路由合并chunk块
2019-05-27
vue中 不更新视图 四种解决方法
2019-05-27
MySQL 查看执行计划
2019-05-27
OpenGL ES 3.0(四)图元、VBO、VAO
2019-05-27
OpenGL ES 3.0(五)纹理
2019-05-27
OpenGL ES 3.0(八)实现带水印的相机预览功能
2019-05-27
OpenGL ES 3.0(九)实现美颜相机功能
2019-05-27
FFmpeg 的介绍与使用
2019-05-27
Android 虚拟机简单介绍——ART、Dalvik、启动流程分析
2019-05-27
FFmpeg 是如何实现多态的?
2019-05-27
FFmpeg 新旧版本编码 API 的区别
2019-05-27
RecyclerView 源码深入解析——绘制流程、缓存机制、动画等
2019-05-27
Android 面试题整理总结(一)Java 基础
2019-05-27
Android 面试题整理总结(二)Java 集合
2019-05-27
学习笔记_vnpy实战培训day02
2019-05-27
学习笔记_vnpy实战培训day03
2019-05-27
VNPY- VnTrader基本使用
2019-05-27