欢迎来到天天文库
浏览记录
ID:41195085
大小:1.74 MB
页数:31页
时间:2019-08-18
《基于MATLAB的数据结构与算法线性表部分》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于MATLAB《数据结构与算法》延边大学信息管理专业(13级)崔基哲MATLAB类的定义Class创建举例用class创建双向链表线性表部分的MATLAB编程类的建立:class类的建立:class1.1类文件夹当要创建一个类时,我们应该将确认类文件放在什么位置。matlab为我们提供了两种方法:1.在matlab路径下创建一个文件夹,然后在文件夹中创建一个单独的自包含的类定义2.在matlab路径下,创建一个@+类名的文件夹,在其中创建一个类,同时我们可以将类的定义分散在多个文件中,也即该文件夹下都是该类的定义;和其
2、他高级语言(java)类似,matlab还允许我们将这些类组织成包包为packages包文件夹的父文件夹必须在matlab路径下,但是包文件夹不必。包文件夹以‘+’开头,可以包含多个类定义或者其他的包。一个包文件夹定义了一个新的命名空间,所以我们可以重用类名。引用包中的类或者函数时需要包含包名称,例如packagefld1.ClassNameA(),packagefld2.packageFunction()。其他更多ClassFolders更多细节可参考matlab帮助中的ClassFolders部分(在搜索框中输入Cla
3、ss搜索)。1.2类定义要创建一个类,matlab会自动帮我们生成一个类框架,一般如下:classdef(attribute1=value,...)classname(4、java中的extends关键字或者C++中的‘:’。matlab支持多重继承,更详细的解释可参考:CreatingSubclasses—SyntaxandTechniques。在实现链表的过程中,我们需要继承handle类。完整的一个类模块如下图:完整的一个类模块如下图关于classdef与handleclassdef是定义类名,后面的<是表示继承,Matlab允许多重继承,继承自handle类,handle类定义了很多关于object的处理函数,例如addListener以及notify还有delete等对对象的函数,5、是一个抽象类关于propertiesproperties类似于java或C++中的成员变量,我们也可以给其设定各种访问属性,更详细的解释可参考:DefiningProperties。关于Class中的methodsmethods就是具体的函数实现。有很多种不同类型的函数,下面简要介绍:普通函数(Ordinarymethods)。我们实现的大部分都是普通函数,它负责完成该类要完成的主要任务。构造函数(Constructormethods)。和其他高级语言类似,也必须是类名,用来给属性赋值。唯一不同是它必须返回它创建的对象。更6、详细的解释可参考:ClassConstructorMethods。析构函数(Destructormethods)。名字必须是delete,用来释放空间。更详细的解释可参考:HandleClassDeleteMethods。属性访问函数(Propertyaccessmethods)。类似于其他高级语言中的set、get函数。更详细的解释可参考:ControllingPropertyAccess。静态函数(Staticmethods)。类似于其他高级语言中的静态函数,通过类对象进行访问。转换函数(Conversionmetho7、ds)。是对其他类构造函数的重载,可以将自己定义类的对象转换成重载构造函数类的对象。更详细的解释可参考:ConvertingObjectstoAnotherClass。抽象函数(Abstractmethods)。无需解释,用来在子类中继承的函数创建类的简单举例类是一种数据类型,与普通的数据类型不同的是类不仅包含数据,还包含对数据的操作,类把数据和数据操作方法封装在一起,作为一个整体参与程序的运行。类具有课继承性,创建一个新的类的时候,可以在一个基类中添加成员派生出新类。类的变量和类的实例是不同的,类的实例是动态分配的内存区8、域,通常称类的实例维“对象”,同一个类可以有不同的实例存在,他们各自有自己的数据,但是数据操作方法是相同的。类的变量可以看作是一个指针,指向类的实例。举例:建立一个类建立一个类通常一个类应该包含四个基本的成员函数:构造函数――与类名相同,可以在其中完成成员初始化的工作;显示函数――名为display
4、java中的extends关键字或者C++中的‘:’。matlab支持多重继承,更详细的解释可参考:CreatingSubclasses—SyntaxandTechniques。在实现链表的过程中,我们需要继承handle类。完整的一个类模块如下图:完整的一个类模块如下图关于classdef与handleclassdef是定义类名,后面的<是表示继承,Matlab允许多重继承,继承自handle类,handle类定义了很多关于object的处理函数,例如addListener以及notify还有delete等对对象的函数,
5、是一个抽象类关于propertiesproperties类似于java或C++中的成员变量,我们也可以给其设定各种访问属性,更详细的解释可参考:DefiningProperties。关于Class中的methodsmethods就是具体的函数实现。有很多种不同类型的函数,下面简要介绍:普通函数(Ordinarymethods)。我们实现的大部分都是普通函数,它负责完成该类要完成的主要任务。构造函数(Constructormethods)。和其他高级语言类似,也必须是类名,用来给属性赋值。唯一不同是它必须返回它创建的对象。更
6、详细的解释可参考:ClassConstructorMethods。析构函数(Destructormethods)。名字必须是delete,用来释放空间。更详细的解释可参考:HandleClassDeleteMethods。属性访问函数(Propertyaccessmethods)。类似于其他高级语言中的set、get函数。更详细的解释可参考:ControllingPropertyAccess。静态函数(Staticmethods)。类似于其他高级语言中的静态函数,通过类对象进行访问。转换函数(Conversionmetho
7、ds)。是对其他类构造函数的重载,可以将自己定义类的对象转换成重载构造函数类的对象。更详细的解释可参考:ConvertingObjectstoAnotherClass。抽象函数(Abstractmethods)。无需解释,用来在子类中继承的函数创建类的简单举例类是一种数据类型,与普通的数据类型不同的是类不仅包含数据,还包含对数据的操作,类把数据和数据操作方法封装在一起,作为一个整体参与程序的运行。类具有课继承性,创建一个新的类的时候,可以在一个基类中添加成员派生出新类。类的变量和类的实例是不同的,类的实例是动态分配的内存区
8、域,通常称类的实例维“对象”,同一个类可以有不同的实例存在,他们各自有自己的数据,但是数据操作方法是相同的。类的变量可以看作是一个指针,指向类的实例。举例:建立一个类建立一个类通常一个类应该包含四个基本的成员函数:构造函数――与类名相同,可以在其中完成成员初始化的工作;显示函数――名为display
此文档下载收益归作者所有