欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > PPTX文档下载
    分享到微信 分享到微博 分享到QQ空间

    MATLAB面向对象程序设计.pptx

    • 资源ID:1399645       资源大小:697.34KB        全文页数:153页
    • 资源格式: PPTX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    MATLAB面向对象程序设计.pptx

    1、MATLAB面向对象程序设计,第1章 绪言,1.1如何学会一门编程语言1.2做笔记的方法,1.1如何学会一门编程语言,1.一本好书或一套好的视频:体系完整、讲解生动、知识准确2.一本好的练习册:能够得到充分的锻炼,内化知识3.一段比较孤独的时间:不受干扰、深入学习、突破枯燥期4.留下笔记或电子文档,1.2做笔记的方法,1.抓主干:浏览章节,把定义、格式和注意事项标出。2.读范例:仔细看解释部分和example,理解内容。3.记录:把主干部分记录下来,用作提醒和助记。4.练习:练习这一章节的内容5.丰富:根据练习结果添加意义、范例和说明,第2章 MATLAB基础知识,MATLAB的help文档,

    2、MATLAB的help文档是学习MATLAB的重要工具之一。MATLAB的help文档有规则定义、解释说明和范例,很多问题可以在help文档里找到答案。,Matlab运算符,1.算术运算符 算术运算因所处理的对象不同,分为矩阵和数组算术运算两类。,2.关系运算符,需要明确指出的是,MATLAB 的关系运算虽可看成矩阵的关系运算,但严格地讲,把关系运算定义在数组基础之上更为合理。关系运算是元素一对一的运算结果。,3.逻辑运算符,为提高运算速度,MATLAB 还定义了针对标量的先决与和先决或运算。先决与运算是当该运算符的左边为1(真)时,才继续与该符号右边的量做逻辑运算。先决或运算是当运算符的左边

    3、为1(真)时,就不需要继续与该符号右边的量做逻辑运算,而立即得出该逻辑运算结果为1(真);否则,就要继续与该符号右边的量运算。4.运算符的优先级 和其他高级语言一样,当用多个运算符和运算量写出一个MATLAB 表达式时,运算符的优先次序是一个必须明确的问题。,MATLAB中的全局变量,全局内存是指内存的一种特殊类型,它能够被所有的工作区访问。如果一个变量在函数中被声明全局变量,那么它将占用的是全局内存,而不是本地工作区。如果相同的变量在另一个函数中被声明为全局变量,那么这个变量所占有内存区域就是第一个函数中的相同变量。最好把全局变量声明在函数的开头,这样可以区别于本地变量。在一个程序,你能利用

    4、全局内存,在函数之间对大规模数据进行交换。,如果想让某个函数中定义的变量能够被其他函数调用,需要用到全局变量。注意,在这两个函数中都要用global修饰这个变量。如:function t1global x;x=0;function t2global x;y=xend,1.6.2图形窗口及坐标轴,hf=figure(Color,0.5,0.5,0.5,Position,200,200,500,400);ah=axes(Parent,hf,Color,0.8,0.8,0.8);x=-2:.2:2;y=-4:.4:4;x,y=meshgrid(x,y);z=x.*exp(-x.2-y.2);h=su

    5、rf(Parent,ah,x,y,z,FaceColor,flat,EdgeColor,b);,MATLAB面向对象程序简介,1)类 在MATLAB中,将类视作定义有特定行为的新的数据类型,与普通的类型数据不同,类是一组具有共同特性对象的抽象,不仅包含数据,还包含了对数据的操作。对特定类的对象所定义的操作,称为该类的方法。也可以将类看作可作为单独实体对待的新项目。,MATLAB中类的相关概念如下:类定义描述一个类中所有实例的共有特征属性对类实例的数据存储方法特殊函数,通常是在类实例中的操作事件消息,当发生一些特定的行为时由类定义和提供的类实例的广播。特性值,修改属性、事件、方法和类的状态。听众

    6、对象,当事件通知广播时,对特定的事件作出响应。对象类的实例包文件夹,一个类定义和函数命名的集合。,2)对象MATLAB中的对象是类的一个实例,这个实例包含实际数据所代表的特定实体。对象并不是被动的数据容器,对象还积极管理数据,包括只允许特定的操作、数据隐藏、禁止外部用户非法对数据的滥用等,对象对其控制直到其消失。,MATLAB中类的设计、定义,1.类的设计在MATLAB在,通常一个类可以分为两个组成部分,即成员变量和成员函数。在类的设计过程中,就是要从众多实例中抽象出共同特征,形成类。1)定义类数据2)定义类操作3)定义类事件,2.类的定义MATLAB类的定义由关键词、属性成员、方法和事件4个

    7、部分组成。Classdef类名 Properties 属性 end methods 方法 end event 事件 endend,第3章 MATLAB中的类和对象,3.1类的声明3.2类的属性成员及访问控制3.3类的方法及访问控制3.4类的组合,3.1类的声明,3.1.1类的声明3.1.2对象的创建和使用3.1.3类的特性3.1.4类定义的组织形式3.1.5命名空间和包,3.1.1类的声明,要在MATLAB中声明一个类,可以采用两种方式:其一是声明为value型类(值型类),其二是声明为handle型类(句柄型类)。使用value型类对象可以用来表示一个实体数据,用该类型对象复制另一对象时,则

    8、其中一个对象数据的修改不会引起另一对象的改变,这是又有它们所占用的不是同一个存储空间,因此它们在数据上是相互独立的。,在MATLAB中声明一个value型类的一般格式如下:Classdef类名 Properties 属性 end methods 方法 end event 事件 end enumeration 枚举(输入参数)endend,3.1.2对象的创建和使用,MATLAB面向对象程序设计中创建一个对象的过程一般是通过调用类的构造函数来实现的,其格式如下:对象名=类的构造函数(输入参数)访问对象成员采用的是点(.)操作符,其一般形式是:对象名.类成员,3.1.3类的特性,3.1.4类的组织

    9、形式,3.2类的属性成员及访问控制,3.2.1属性成员的声明和初始化3.2.2属性成员的特性3.2.3属性成员的get和set方法3.2.4属性成员的访问控制,3.2.1属性成员的声明和初始化,一个类的普通数据成员,我们可以安排在类的属性成员部分,属性成员块中的成员可以按如下格式定义:Properties 属性成员1;属性成员2;end,属性成员的初始化可以通过两种途径来完成。第一种是在属性成员块内为数据成员指定初始值。第二种初始化属性成员的方法是用构造函数来完成的,构造函数的返回值一般都是一个对象,通过引用对象中的属性成员将形参赋值给它们。,3.2.2属性成员的特性,3.2.3属性成员的ge

    10、t和set方法,如果在创建好对象后,要改变属性成员的值,对于具有公有访问特性的属性成员来说,可以直接通过对象来访问该成员,从而重新设置其值。这说明MATLAB对一个类对象的属性成员具有进行设置(set)和查询(get)功能。属性成员的get和set方法就是用来设置这种功能的。如果没有编写属性成员的set和get方法,访问对象的属性成员时就会直接操作。如果编写属了性成员的set和get方法,访问对象的属性成员时MATLAB就会调用相应的set和get方法,而不会再直接操作。,Set方法的格式:function obj=set.propertyName(obj,value);EndValue就像一

    11、个匣子,装入访问对象时传入的值,供set函数内部进行相应的操作。如obj.propertyName=10;则MATLAB会令value=10。,get方法的格式:function value=get.propertyname(obj)end 同样地,这里的value也是一个形参,代表查询属性成员时,MATLAB要提供的值。如 obj.propertyName%假设get函数使value=10;ans=10,3.2.4 属性成员的访问控制,3.3类的方法及其访问控制,3.3.1普通方法及其访问控制3.3.2构造函数3.3.3静态方法3.3.4类型转换方法,3.3.1普通方法及其访问控制,普通方法

    12、的声明方式一般有两种:第一种是在类块中给出完整的函数定义;第二种方式是在一个单独分文件中给出函数的完整定义,而在类中只给出函数的声明形式。,在类块中给出完整的函数定义,例子:Classdef Myclass Properties x=1.0;end methods function obj=Myclass(val)%构造函数 obj.x=val;end function y=computeadd(obj,val)y=obj.x+val;endend,格式如下:Methods function val1=fun1(obj,args1)end function val2=fun2(obj,args

    13、2)end function fun3(obj)endend,调用方法时有如下两种形式:obj.fun1(args1)和fun1(obj,args1)例如:T=myclass(5);computeadd(4);computeadd(T,4);,3.3.2构造函数,构造函数是类中的一个特殊方法,MATLAB中构造函数的主要作用是来完成对象的创建工作,与此同时可以对对象中的数据进行初始化。,构造函数也是类的一个方法,除了具有一般成员方法的特征之外,还具有一些特殊的性质:1)构造函数的函数名与类名相同。2)构造函数只能返回一个参数,它是本类的一个对象,在类的所有方法中只能用构造函数来创建一个对象。3

    14、)构造函数总是返回一个有效的类实例,而不是一个空对象。4)如果类中没有说明构造函数,则MATLAB就会提供一个无输入参数的构造函数(默认构造函数),并返回一个标量对象,该对象中的属性成员或被初始化为空(),或按默认值初始化。,3.3.3静态方法,3.3.4类型转换方法,3.4类的组合,3.4.1内嵌对象3.4.2类的优先级问题3.4.3对象的保存与加载,3.4.1内嵌对象,实际上,类的属性成员中也可以存放另一个类的实例。由此我们可以利用已有的类的实例来构建新的复杂的类。如果一个类中的某属性成员存放的是另一个类的对象,我们在这里将这样的成员成为内嵌对象。,3.4.2类的优先级问题,1)不同类之间

    15、包含同名函数时的优先级问题可以通过设置类的优先级来确定主导类。MATLAB中确定类之间的优先级是通过设置一个类的inferiorClass特性来实现的,其格式如下:classdef(InferiorClass=?class1,?class2,myClass End这表明class1、class2等的优先级要低于myClass,即myClass相对于它们是主导类。如果没有指定类的优先级,那么在默认情况下,在调用这些类的那个同名函数时,输入参数最左边的对象是主导对象,2)同名类之间的优先级问题,3.4.3对象的保存与加载,像MATLAB的普通变量一样可以用命令save将工作空间的对象保存在mat文

    16、件中;当这个对象从工作空间删除后,这个对象可以从保存文件中用命令load加载到工作空间中来。Save和load的使用格式是:save filename object Load filename object,第4章 MATLAB中的继承与派生,4.1类的继承与派生4.2派生类的构造函数4.3多重继承的成员标识问题4.4指定容许派生的类4.5类成员的访问控制4.6定义MATLAB内置类型的派生类,4.1 类的继承与派生,4.1.1继承与派生的概念4.1.2派生类的定义4.1.3派生形成过程4.1.4用派生类创建一个类的别名,4.1.1继承与派生的概念,MATLAB中通过派生(class derivation)的机制来支持继承。被继承的类型被称为基类(base class)或超类(superclass),而新产生的类则为派生类(derived class)或子类(subclass)。,4.1.2派生类的定义,MATLAB中,派生类的一般定义格式为:Classdef 派生类名基类名1&基类名2&基类名n 派生类成员声明;End其中基类名1、基类名2、基类名n是已声明的类。,如果一个派生类同时


    注意事项

    本文(MATLAB面向对象程序设计.pptx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开