matlab中类的重载简析

matlab中类的重载简析

觉得有用的话,欢迎一起讨论相互学习~

我的微博我的github我的B站

参考资料
https://ww2.mathworks.cn/help/matlab/matlab_oop/overloading-functions-for-your-class.html

  • 在matlab中可以在类中定义一个和matlab默认函数同名的函数以实现不同的功能,这种形式被称为类的重载
  • 注意:在一个类中,所有名称都存在于相同的命名空间中,并且必须唯一。一个类无法定义两个同名的方法,而且一个类无法定义与方法同名的局部函数
  • 重载这种方法在实际编程中运用十分广泛,需要加以体会!!
  • 官方给了一个重载 bar 函数的例子
classdef MyData
   properties
      Data
   end
   methods
      function obj = MyData(d)
         if nargin > 0
            obj.Data = d;
         end
      end
      function bar(obj)
         y = obj.Data;
         bar(y,'EdgeColor','r');
         title('My Data Graph')
      end
   end
end

MyData bar 方法与 MATLAB bar 函数同名。但是,MyData bar 方法需要 MyData 对象作为输入。由于该方法针对 MyData 对象而特化,因此它可以从 Data 属性中提取数据并创建特化图。

要使用 bar 方法,请创建一个对象:

y = rand(1,10);
md = MyData(y);
%使用该对象调用方法:

bar(md)
%也可以使用圆点表示法:

md.bar
posted @   WUST许志伟  阅读(492)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示