ImageVerifierCode 换一换
格式:PDF , 页数:595 ,大小:2.94MB ,
资源ID:6225835      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-6225835.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(matlab_2013_官方教程(面向对象设计-分册).pdf)为本站会员(HR专家)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

matlab_2013_官方教程(面向对象设计-分册).pdf

1、MATLAB Object-Oriented Programming R2013aHow to Contact MathWorks Web comp.soft-sys.matlab Newsgroup Technical Support Product enhancementsuggestions Bug reports Documentation error reports Orderstatus,licenserenewals,passcodes Sales,pricing,andgeneralinformation 508-647-7000(Phone) 508-647-7

2、001(Fax) TheMathWorks,Inc. 3 Apple Hill Drive Natick, MA 01760-2098 Forcontactinformationaboutworldwideoffices,seetheMathWorksWebsite. Object-Oriented Programming COPYRIGHT 19842013 by The MathWorks, Inc. Thesoftwaredescribedinthisdocumentisfurnishedunderalicenseagreement. Thesoftwaremaybeused or co

3、pied only under the terms of the license agreement. No part of this manual may be photocopied or reproduced in any form without prior written consent from The MathWorks, Inc. FEDERAL ACQUISITION: Thisprovision applies to all acquisitions ofthe Programand Documentation by, for, or through the federal

4、 government of the United States. By accepting delivery of the Program or Documentation, the government hereby agrees that this software or documentation qualifies as commercial computer software or commercial computer software documentation assuch terms are used or defined in FAR 12.212, DFARS Part

5、 227.72, and DFARS 252.227-7014. Accordingly, the terms and conditions of this Agreement and onlythoserights specified inthis Agreement, shall pertain to andgovern theuse,modification,reproduction,release,performance,display,anddisclosureoftheProgramand Documentationbythefederalgovernment(orotherent

6、ityacquiringfororthroughthefederalgovernment) and shall supersede any conflicting contractual terms or conditions. If this License fails to meet the governmentsneedsorisinconsistentinanyrespectwithfederalprocurementlaw,thegovernmentagrees to return the Program and Documentation, unused, to The MathW

7、orks, Inc. Trademarks MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See for a list of additional trademarks. Other product or brand namesmay be trademarks orregistered trademarksof their respectiveholders. Patents MathWorks products are protected by one or more U.S. patents.

8、Please see for more information.Revision History March 2008 Online only New for MATLAB 7.6 (Release 2008a) October 2008 Online only Revised for MATLAB 7.7 (Release 2008b) March 2009 Online only Revised for MATLAB 7.8 (Release 2009a) September 2009 Online only Revised for MATLAB 7.9 (Release 2009b)

9、March 2010 Online only Revised for MATLAB 7.10 (Release 2010a) September 2010 Online only Revised for Version 7.11 (Release 2010b) April 2011 Online only Revised for Version 7.12 (Release 2011a) September 2011 Online only Revised for Version 7.13 (Release 2011b) March 2012 Online only Revised for Ve

10、rsion 7.14 (Release 2012a) September 2012 Online only Revised for Version 8.0 (Release 2012b) March 2013 Online only Revised for Version 8.1 (Release 2013a)1 Using Object-Oriented Design in MATLAB “Begin Using Object-Oriented Programming” on page 1-2 “Why Use Object-Oriented Design” on page 1-4 “Cla

11、ss Diagram Notation” on page 1-171 Using Object-Oriented Design in MATLAB Begin Using Object-Oriented Programming In this section. “Video Demo of MATLAB Classes” on page 1-2 “MATLABProgrammerWithoutObject-OrientedProgrammingExperience” on page 1-2 “MATLAB Programmer with Object-Oriented Programming

12、Experience” on page 1-2 VideoDemoofMATLABClasses YoucanwatchabriefpresentationonMATLAB class development by clicking this link: Play video MATLAB Programmer Without Object-Oriented Programming Experience If you create MATLAB programs, but are not defining classes to accomplish your tasks, start with

13、 the following sections: “Why Use Object-Oriented Design” on page 1-4 “Classes in the MATLAB Language” on page 2-2 “Introductory Examples” on page 2-6 “Learning Object-Oriented Programming” on page 2-7 MATLAB Programmer with Object-Oriented Programming Experience If have experience with both MATLAB

14、programming and object-oriented techniques, start with the following sections: “Class Files” on page 3-2 “Compatibility with Previous Versions ” on page 3-46 1-2Begin Using Object-Oriented Programming “ComparingMATLAB with OtherOO Languages”on page3-50 1-31 Using Object-Oriented Design in MATLAB Why

15、 Use Object-Oriented Design In this section. “Approaches to Writing MATLAB Programs” on page 1-4 “WhenShouldYouStartCreatingObject-OrientedPrograms”onpage1-8 Approaches to Writing MATLAB Programs Creatingsoftwareapplicationstypically involves designinghow torepresent theapplicationdataanddetermining

16、howtoimplementoperationsperformed onthatdata. Proceduralprograms pass data to functions,which perform the necessary operations on the data. Object-oriented software encapsulates data and operations in objects that interact with each other via the objects interface. TheMATLABlanguageenablesyoutocreat

17、eprogramsusingbothprocedural and object-oriented techniques and to use objects and ordinary functions in your programs. Procedural Program Design In procedural programming, your design focuses on steps that must be executedtoachieveadesiredstate. Youtypicallyrepresentdataasindividual variables or fi

18、elds of a structure and implement operations as functions that take the variables as arguments. Programs usually call a sequence of functions, each oneof which ispassed data, and then returns modified data. Eachfunctionperformsanoperationorperhapsmanyoperationsonthedata. Object-Oriented Program Desi

19、gn The object-oriented program design involves: Identifying the components of the system or application that you want to build Analyzingandidentifyingpatternstodeterminewhatcomponentsareused repeatedly or share characteristics Classifying components based on similaritiesand differences 1-4Why Use Ob

20、ject-Oriented Design After performing this analysis, you defineclassesthatdescribetheobjects your application uses. Classes and Objects A class describes a set of objects with common characteristics. Objects are specificinstancesofaclass. Thevaluescontainedinanobjectspropertiesare whatmakean object

21、different from other objects ofthe same class (an object of class double might have a value of 5). The functions defined by the class (calledmethods)arewhatimplementobjectbehaviorsthatarecommontoall objectsofaclass(youcanaddtwodoubles regardless oftheirvalues). Using Objects in MATLAB Programs The M

22、ATLAB language defines objects that are designed for use in any MATLABcode. Forexample,considerthe try/catchprogrammingconstruct. Ifthecodeexecutedinthetry block generates an error, program control passes to the code in the catch block. This behavior enables your program to providespecial error hand

23、ling that ismoreappropriate to your particular application. However, you must haveenough information about the error to take the appropriate action. MATLAB provides detailed information about the error by passing an MException object to functions executing the try/catch blocks. The following try/cat

24、ch blocks display the error message stored in an MException object when a function (surf in this case) is called without the necessary arguments: try surf catch ME disp(ME.message) end Not enough input arguments. In this code, ME is an object of the MException class, which is returned by the catch s

25、tatement to the functions workspace. Displaying the value of the objects message property returns information about the error (the surf 1-51 Using Object-Oriented Design in MATLAB function requiresinput arguments). However, thisisnot all the information available in the MException object. You can li

26、stthepublicpropertiesofanobjectwith the propertiesfunction: properties(ME) Properties for class MException: identifier message cause stack Objects Organize Data The information returned in an MException object is stored in properties, which are much like structure fields. You reference a property us

27、ing dot notation,asin ME.message. Thisreferencereturnsthevalueoftheproperty. For example, class(ME.message) ans = char showsthatthevalueofthe message propertyisanarrayofclass char(a text string). The stack property contains a MATLAB struct: ME.stack ans = file: 1x90 char name: surf line: 50 You can

28、simply treat the property reference, ME.stack as a structure and reference its fields: ME.stack.file ans = D:myMATLABmatlabtoolboxmatlabgraph3dsurf.m The file field of the struct contained in the stack property is a character array: 1-6Why Use Object-Oriented Design class(ME.stack.file) ans = char Y

29、oucould,forexample,use apropertyreference inMATLABfunctions: strcmp(ME.stack.name,surf) ans = 1 Objectpropertiescan contain anyclassofvalueandcanevendeterminetheir value dynamically. This provides more flexibility than a structure and is easier to investigate than a cell array, which lacks fieldname

30、s and requires indexing into various cells using array dimensions. Objects Manage Their Own Data You couldwritea function thatgeneratesareportfrom thedata returnedby MException object properties. This function could become quite complicated because it would have to be able to handle all possible err

31、ors. Perhaps you wouldusedifferentfunctionsfordifferent try/catch blocksin yourprogram. If the data returnedby the error object needed to change, you would have to update the functions you have written to use the new data. Objects provide an advantage in that objects define their own operations. A r

32、equirement of the MException object is that it can generate its own report. The methods that implement an objects operations are part of the object definition (i.e., specified by the class that defines the object). The object definitionmightbemodifiedmanytimes,buttheinterfaceyourprogram(and otherpro

33、grams)usedoesnotchange. Thinkofyourprogram asaclientofthe object, which isolates your code from the objects code. ToseewhatmethodsexistforMExceptionobjects,usethemethodsfunction: methods(ME) Methods for class MException: addCause getReport ne throw eq isequal rethrow throwAsCaller Static methods: 1-

34、71 Using Object-Oriented Design in MATLAB last You can usethesemethodslikeanyotherMATLAB statementwhenthereis an MException object in the workspace. For example: ME.getReport ans = Error using = surf Not enough input arguments. Objectsoftenhavemethodsthatoverload(redefinedfortheparticularclassof the

35、object)MATLAB functions(e.g., isequal, fieldnames,etc.). Thisenables you to use objects just like other values. For example, MException objects haveanisequal method. Thismethodenablesyou to comparetheseobjects in the same way you would compare variables containing doubles. If ME and ME2are MExceptio

36、nobjects,youcancomparethemwiththis statement: isequal(ME,ME2) However, whatreallyhappensin thiscaseisMATLABcallsthe MException isequalmethodbecauseyouhavepassedMExceptionobjectsto isequal. Similarly,the eqmethodenablesyoutousethe=operatorwith MException objects: ME = ME2 Of course, objects should su

37、pport only those methods that make sense. For example,itwouldprobablynotmakesensetomultiplyMException objectsso the MException class does not implement methods to do so. When Should You Start Creating Object-Oriented Programs ObjectsarewellintegratedintotheMATLABlanguage,regardlessofwhether you are

38、writing simple functions, working interactively in the command window, or creating large applications. Simple programming tasks are easily implemented as simple functions, but as the magnitude and complexity of your tasks increase, functions become more complex and difficult to manage. 1-8Why Use Ob

39、ject-Oriented Design As functions become too large, you might break them into smaller functions and pass data from one to the other. However, as the number of functions becomeslarge,designingandmanagingthedatapassedtofunctionsbecomes difficult and error prone. At this point, you should consider movi

40、ng your MATLAB programming tasks to object-oriented designs. Understanding a Problem in Terms of Its Objects Thinking in terms of things or objects is simpler and more natural for some problems. You might think of the nouns in your problem statement as the objectsyouneedtodefineandtheverbsastheopera

41、tionsyoumustperform. Forexample,considerperformingananalysisofeconomicinstitutions.It would be difficult to represent the various institutions as procedures even thoughthey are allactors in the overalleconomy. Consider banks, mortgage companies,creditunions. Youcanrepresenteachinstitutionasanobjectt

42、hat performs certain actions and contains certain data. Theprocessof designing the objects involves identifying the characteristics of these institutions that are important to your application. Identify Commonalities. Alloftheseinstitutionsbelonginthegeneralclass oflendinginstitutions,soallobjectsmi

43、ghtprovidea loanoperationandhave a Rate property that stores the current interest rate. Identify Differences. Youmustalsoconsiderhoweachinstitutiondiffers. A mortgage company might provide only home mortgage loans. Therefore, the loan operation mightneedbespecialized formortgagecompaniestoprovide fi

44、xRateLoanand varRateLoanmethodstoaccommodatetwoloantypes. Consider Interactions. Institutions can interact, as well. For example, a mortgage company mightsella mortgageto a bank. To supportthis activity, the mortgage company object would support a sellMortgage operation and the bank object would sup

45、port a buyMortgage operation. Youmightalsodefinealoanobject,which would represent a particular loan. It might need Amount, Rate,andLender properties. When the loan is sold to another institution, the Lender property could be changed, but all other information is neatly packaged within the loan objec

46、t. 1-91 Using Object-Oriented Design in MATLAB Add Only What Is Necessary. Itislikelythattheseinstitutionsengagein manyactivitiesthatarenotofinteresttoyourapplication. Duringthedesign phase, you need to determine what operations and data an object needs to contain based on your problem definition. M

47、anaging Data. Objects encapsulate the model of what the object represents. If the object represents a kind of lending institution, all the behaviors of lending institutions that are necessary for your application are contained by this object. This approach simplifies the management of data that is n

48、ecessary in a typical procedural program. Objects Manage Internal State In the simplest sense, objects are data structures that encapsulate some internalstate,whichyouaccessviaits methods. Whenyou invokeamethod, it is the object that determines exactly what code to execute. In fact, two objects of t

49、he same class might execute different code paths for the same method invocation because their internal state is different. The internal workings of the object need not be of concern to your program you simply use the interface the object provides. Hiding the internalstatefrom general accessleadstomorerobust code. If a loan objects L

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报