`

Matlab中的面向对象编程

阅读更多
官方文档:http://cn.mathworks.com/help/matlab/object-oriented-programming.html

class的结构:http://cn.mathworks.com/help/matlab/object-oriented-programming-in-matlab.html

class内的变量、方法需要放到相应的block内,比如
   properties (SetAccess=protected)
      a=1
      b=2
   end

定义了类的两个成员变量a和b。  并且其默认值分别为1、2.

而成员变量还可以设置各种属性,比如(SetAccess=protected) 则使得该成员变量只能被该类及子类修改。
成员变量的属性大全:http://cn.mathworks.com/help/matlab/matlab_oop/property-attributes.html



class可以定义在一个.m文件中,也可以将类的函数分开,放到一个文件夹中。
放到文件夹中的方法为:http://cn.mathworks.com/help/matlab/matlab_oop/class-files-and-folders.html
需要 @ClassName 作为文件夹名称





Matlab中的class有两类,一类类似平时的变量, 一类类似指针,继承自handle类
觉着看完下面最简单的例子就不影响我们开始使用了~

最简单的例子:http://cn.mathworks.com/help/matlab/matlab_oop/getting-familiar-with-classes.html

注意matlab中定义成员方法必须显示包含该变量(必须为第一个参数)(名称不一定非要是obj)!!!
引用
classdef BasicClass
   properties
      Value
   end
   methods
      function r = roundOff(obj)
         r = round([obj.Value],2);
      end
      function r = multiplyBy(obj,n)
         r = [obj.Value] * n;
      end
   end
end



指针类:
以下摘自:Comparison of MATLAB and Other OO Languageshttp://cn.mathworks.com/help/matlab/matlab_oop/matlab-vs-other-oo-languages.html
这篇文章很好,讲了 get set方法,   构造函数等

引用
classdef SimpleHandleClass < handle
   properties
      Color
   end
   methods
      function obj = SimpleHandleClass(c)
         if nargin > 0
            obj.Color = c;
         end
      end
   end
end


Class Componentshttp://cn.mathworks.com/help/matlab/matlab_oop/class-components.html


Representative Class Codehttp://cn.mathworks.com/help/matlab/matlab_oop/a-class-code-listing.html
分享到:
评论

相关推荐

    matlab面向对象编程.pdf

    在面向对象编程中,这些类别被表示为类。数据元素或状态表示为类属性,而操作则通过类方法来实现。 面向对象编程的类别模型包含三大基本特性:封装、继承和多态性。封装允许类将内部状态和行为封装在一起,并定义...

    Matlab面向对象编程

    1. 抽象:在MATLAB面向对象编程中,抽象指的是从实际世界中提取问题的本质特征,并在程序中通过对象来表示这些特征。例如,我们可以创建一个代表汽车的对象,这个对象只需要包含汽车的基本属性如品牌、型号、颜色和...

    matlab面向对象编程(英文版)

    本文将围绕“MATLAB面向对象编程”这一主题展开详细讨论,旨在帮助读者理解MATLAB中的OOP概念、特点以及如何应用这些特性来编写高效的代码。 #### MATLAB面向对象编程基础 在深入探讨之前,我们首先需要了解MATLAB...

    matlab开发-面向对象的程序示例

    在MATLAB中,面向对象编程(Object-Oriented Programming, OOP)是一种强大的设计和实现复杂系统的方法。这种编程范式允许我们通过定义类来创建自定义数据类型,并且可以包含与这些数据类型相关的属性和方法。在...

    matlab面向对象的程序设计.pdf

    MATLAB是一种广泛应用于科学计算、...在实际应用中,MATLAB的面向对象编程可以帮助工程师和科学家创建模块化、可维护的代码,提高工作效率。了解并熟练掌握这些概念和技巧,将有助于编写出更加高效和专业的MATLAB程序。

    Matlab技术面向对象编程.docx

    Matlab 技术面向对象编程 Matlab 技术面向对象编程是 Matlab 中的一种编程方式,它使得我们可以更加灵活和高效地编写复杂的程序。面向对象编程的核心概念是对象和类,对象是类的一个实例,而类定义了对象的属性和...

    matlab面向对象编程资料

    以下将详细探讨MATLAB面向对象编程的关键概念和特性。 1. 类与对象: 类是面向对象编程的核心,它定义了一组数据(属性)和操作这些数据的方法(函数)。对象则是类的实例,每个对象都拥有类所定义的属性和方法。...

    matlab面向对象编程教程-A Guide to MATLAB Object-Oriented Programming - Register, CRC 2007.rar

    matlab面向对象编程教程-A Guide to MATLAB Object-Oriented Programming - Register, CRC 2007.rar 最近想好好学学matlab面向对象编程的一些东西(以前也自学过,但现在想系统学一下,libsvm工具箱几乎已经没有...

    Matlab引擎的VC++6.0接口调用及其面向对象编程.pdf

    文章中提出的CMatlabEngine类是面向对象编程中封装的一个例子,它实现了不同数据类型组织的透明化,简化了程序设计过程,并为用户提供了一个友好的编程接口环境。 通过实例演示如何使用CMatlabEngine类进行编程,...

    matlab 面向对象编程

    The MATLAB language enables you to create programs using both procedural and objectoriented techniques and to use objects and ordinary functions together in your programs

    matlab 面向对象的编程教材

    matlab 官方提供的面向对象入门教材 Object-oriented programming (OO) applies to software development using the standard science and engineering practice of identifying patterns and defining a ...

    MATLAB面向对象编程教程与应用场景.docx

    继承是面向对象编程中常用的一种机制,它允许我们定义一个类,并从已有的类中继承属性和方法。通过继承,我们可以重用已有代码,并进行灵活的扩展。在 MATLAB 中,我们可以使用 `符号来实现继承关系。 2. 多态 ...

    学习matlab面向对象编程笔记,学习材料主要以matlab中帮助文档为主。.zip

    标题中的"学习matlab面向对象编程笔记"表明我们将探讨MATLAB如何实现面向对象编程,以及如何通过这种编程方式来组织和管理代码。这包括类的定义、对象的创建、继承、封装、多态等核心概念。 MATLAB的OOP特性允许...

    基于Matlab面向对象编程的电气化铁路牵引仿真算法实现.pdf

    Matlab面向对象编程的具体应用表现在电气化铁路牵引仿真算法的实现中,主要体现在以下几个方面: 1. 机车类的实现:将机车的特性以属性的方式定义在类中,如机车的类型、重量、最大牵引力等;同时,定义与之相关的...

    MATLAB面向对象编程_徐潇, 李远编著_北京航空航天大学出版社_2015.01_P334_13662949

    《MATLAB面向对象编程》是徐潇, 李远编著,北京航空航天大学出版社于2015年1月出版,本书共有334页。 作者基于《Matlab Object-Oriented Programming》这本英文书,作了本土化修改,添加了大量案例。 本资源转自其他...

Global site tag (gtag.js) - Google Analytics