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

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/14173941.html】到电脑端继续下载(重复下载【60天内】不扣币)。

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(面向对象分析与设计概述.ppt)为本站上传会员【仙人****88】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

面向对象分析与设计概述.ppt

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,面向对象分析与设计,第一章 面向对象方法概论,1,2,软件系统开发方法,传统开发方法,面向对象方法,直接写程序,结构化分析法,信息建模法,功能能分解法,数据流法,有限状态机法,基于规则系统,E-R,图,人工智能,专家系统,抽象,客户,委托,信息隐藏,封装,数据抽象,过程抽象,消息通信,泛化继承,分类,代理,动态行为,静态行为,行为分析,复杂性控制,包括,包括,包括,包括,包括,包括,包括,包括,包括,使用,使用,用于,原则,原则,原则,原则,原则,原则,原则,原则,包括,包括,包括,包括,包括,包括,包括,

2、Contents,3,内容,1.,问题提出,2.OO,思想与,OO,程序,3.OO,概念与原则,4.OO,优点,面向对象方法概论,Object Oriented Method,Problem of Software Dvpt,1,1,传统开发方法中存在的问题,二十世纪六十年代以前,软件系统:较小,相对简单,编程语言:十分简单(,Fortran,Cobol,等),崇尚程序员的个人技能,代码:含,GOTO,语句,随意跳转,随着软件复杂性的增长,代码维护,无开发方法,可言,5,1,、功能分解法(,起于二十世纪七十年代,),功能分解法(,function decomposition,),功能分解 功能

3、子功能,+,功能接口,以系统需要提供的功能为中心来组织系统。,定义各种功能,把功能分解为子功能,同时定义功能之间的接口,对较大的子功能进一步分解,直到可给出明确的定义。,设计数据结构和算法。,功能,功能,功能,系统,子功能,子功能,子功能,子功能,分解,分解,分解,6,C,语言案例,“,程序设计,的实质是对确定的问题选择一种好的,结构,,加上设计一种好的,算法,。”,严蔚敏,.,数据结构,案例:,1.0,学生成绩信息管理,.C,1.1.1 prog1.c,与,1.1.2 prog2.c,7,8,功能,模块,功能,模块,功能,模块,功能,模块,功能,模块,功能,模块,功能,模块,功能,模块

4、功能,模块,功能,模块,得到的系统模型:,由模块及其接口构成,优点,计算机应用普及,特定的用户按自己的需要,对软件系统做出了功能性的要求,有据可寻。,在相当大的程度上,解决了以前存在的问题,特别是与模块化编程结合使用,效率更高,删除,GOTO,语句,与模块化编程相结合,使得软件能得到有效的维护,适用于功能稳定的应用领域,如某些科学计算,直接地反映用户的需求,工作很容易开始,9,缺点,结构化分析和设计注重处理功能,对所处理的数据放于次要的位置,对于众多的领域而言,其功能是易变的,如企业管理和商业管理。,对需求变化的适应能力很差。,局部的错误和局部的修改很容易产生全局性的影响。,开头容易,结束难

5、不能直接地映射问题域,很难检验分析结果的正确性。,10,2,、数据流法(,结构化分析法,二十世纪七十年代,),数据流法 数据流数据处理(加工)数据存储端点处理说明数据字典,基本策略,跟踪数据流,问题域被映射为数据流图(,DFD,),用处理说明和数据字典进行详细说明。,11,数据流,加工,数据存储,端点,处理说明,数据词典,经过初步的需求分析,得到系统功能要求:,1,、监视病员的病症(血压、体温、脉搏等)。,2,、定时更新病历。,3,、病员出现异常情况时报警。,4,、随机地产生某一病员的病情报告。,数据流图案例,:医院病房监护系统,产生,病情报告,监视病情,更新病历,数据存储,数据源点,或终

6、点,加 工,加工名,数据流,数据流名,文件名,实体名,箭 头,圆或椭圆,单或双杠,矩形框,T,A,B,*,C,T,A,B,*,C,T,A,B,+,C,T,A,B,+,C,T,A,B,C,+,T,A,B,C,+,*,与,+,或,互斥,+,辅助图例,:,四种基本图形符号:,数据流图的图符,系统功能要求:,1,、监视病员的病症(血压、体温、脉搏等),2,、定时更新病历,3,、病员出现异常情况时报警。,4,、随机地产生某一病员的病情报告。,顶层:,顶层设计,:,案例:医院病房监护系统,计算超过,极限值否,病员,数据,超过,极限值,报警,开解信号,产生,报警信息,病员极限,格式化,病员数据,体温,血压、

7、体温、,脉搏,生理信号,极限值,时间,脉搏,血压,日期,时钟,格式化,病员数据,3.1,3.2,3.3,3.4,第二层:加工“,中央监视,”,分解,图,2.15,第一层,格式化,病员数据,生理信号,极限值,病员,护士,护士,中央监视,病员,日志,病症信号,要求报告,病症,报告,报警,局部监视,生成报告,病员极限,更新日志,病员数据,1,3,2,4,日志数据,图,2.16,医院病房监护系统分层,DFD,图,数据流法业务模型优缺点,优点:,有严格的法则,逐步求精,较强调研究问题域。,缺点:,在概念上,不能直接地映射到问题域中的事物,对需求变化的适应能力较弱。,大系统数据流和加工的数量太多,引起分析

8、文档的膨胀。,系统复杂时,难以检验分析的正确性。,分析与设计的概念和表示法不一致,其转换规则也不严格。,16,小结,功能分解法和数据流法,适用于功能稳定的应用领域,如某些科学计算,已经开发了很多软件系统。,对于功能易变的众多领域,如企业管理和商业管理领域,容易导致模块的低内聚和模块间的高耦合,使得统缺乏灵活性和可维护性。,由于当时团队的开发与管理方法不足,20,世纪,70,年代,软件危机情况更加严重。,解决软件危机方法,对开发技术进行了一定的改进,对编程语言进行了革新,如产生了用于软件开发的,4GL,、,CASE,工具、原型技术和代码生成器,这些努力取得了一定的成就,但没有从根本上解决问题。,

9、17,3,、基于数据的方法(,二十世纪八十年代,),实体,-,联系图,用实体的数据集合作为构造块,以数据结构为中心。,信念,数据是“企业应用”中最稳定的部分,背景,关系数据库有一个极好的数学基础,大多数公司使用数据建模方法开发软件。,结构化的方法实际上能够帮助开发者处理数据,但数据建模方法却不能帮助开发者管理功能。,18,信息建模法(,information modeling,),信息建模 实体(对象)属性关系父类型子类型关联对象,由实体,-,联系法(,E-R,方法)发展而来。,与数据库设计有很深的渊源。,核心概念是实体和联系:,实体描述问题域的事物,含有属性;,联系描述事物之间在数据方面的关

10、系,也可以带有属性。,实体称作对象,使用类型和子类型的概念,作为实体(对象)的抽象描述。,19,业务模型,实体(对象),属性,联系,父类型,/,子类型,关联对象,跟踪数据流,从而发现数据流和加工。,强调对信息实体建模,而不是对象建模。,对象只有属性,而无操作。,父类与子类之间也只有属性继承。,没采用消息通讯。,1,4,、有限状态机方法,基于现实的行为视图,状态系统的构造块,所操作的数据独立于状态,基于系统状态的处理,这一方法没有说到数据管理。,21,预订,归档,使用,确认,等待,机票初始状态,5,、基于规则的系统,计算机是执行一套规则的推理机(,ifthen,语句)。,基于人工智能系统,没有帮

11、助我们处理数据,不支持过程概念,如,prolog,list,语言,22,传统开发方法总结,上述方法都仅基于一个角度看待系统,对系统的其它视图建模方面的能力很弱。,对,OO,产生都做出了一定的贡献,.,23,Contents,24,内容,1.,问题提出,2.OO,思想与,OO,程序,3.OO,概念与原则,4.OOD,优点,面向对象方法概论,Object Oriented Method,Basic Idea of OO,1,2,面向对象的基本思想,功能分解法,集中于将功能作为系统的构造块,数据分析方法(实体联系模型),构造块是实体,忽略了满足系统需求的功能,功能分解法与数据分析方法存在问题:,没有

12、处理对动态行为的捕获,忽略了声明性语义(规则)以及例外处理机制,八十年代中后期,:出现较为完善的面向对象分析和设计方法,从多个视角同时捕获系统功能、行为、实体,26,一切都是对象,27,例题:编写一个开发票程序,需要对发票的名细栏进行计算。,编号,名称,规格,单位,数量,单价,金额,合计,非面向对象思路:,定义数据结构,定义函数,面向对象思路:,对象,一组属性,操作:发票总计,什么是面向对象,28,从程序设计方法的角度看,面向对象是一种新的,程序设计范型,(paradigm),,其基本思想是使用对象、类、继承、封装、,聚合、关联、,消息、,多态性,等基本概念来进行,程序设计,。,从方法学的角度

13、看,面向对象方法是一种运用对象、类、继承、封装、聚合、关联、消息、多态性等概念来,构造系统,的,软件开发方法,。,面向对象的基本思想,直接以问题域(现实世界)中的事物为中心来思考问题、认识问题,根据这些事物的本质特征,把它们抽象地表示为系统中的对象,作为系统的基本构成单位。,使系统直接映射问题域,保持问题域中事物及其相互关系的本来面貌,(,对象,),用对象的属性表示事物的性质;,(属性),用对象的操作表示事物的行为。,(操作),对象的属性与操作结合为一体,对外屏蔽其内部细节。,(对象的封装),29,面向对象的基本思想(,Cont.),对事物进行分类。,把具有相同属性和相同操作的对象归为一类,类

14、是这些对象的抽象描述,每个对象是它的类的一个实例。,(分类),复杂的对象可以用简单的对象作为其构成部分。,(聚合),通过在不同程度上运用抽象的原则,可以得到较一般的类和较特殊的类。,特殊类继承一般类的属性与操作,从而简化系统的构造过程及其文档。,(继承),类具有封闭性,把内部的属性和操作隐藏起来,只有公共的操作对外是可见的,。,(,类的封闭性,),对象之间通过消息进行通讯,实现对象之间的动态联系。,(消息),通过关联表达类,(,一组对象,),之间的静态关系。,(关联),30,客观世界,对象,对象,对象,对象,对象,对象,对象,对象,对象,对象,对象名,属性,操作,类,类,类,类,分类,类,继承

15、类,类,对象,聚合,抽象,客观事物及其间的联系,关联,用况图,类图,顺序图,状态图,活动图,构件图,OO,模型,编程,构成,封装,运行,分析,设计,面向对象的基本思想,示意图,对象,对象,对象,对象,对象,对象,对象,对象,计算机内的对象,OO Programming,Procedural Programming-Example,A procedural programming language usually consists of:,A collection of,variable,s,each of which at any stage contains a certain value

16、a number,a character,a string of characters,etc),A collection of,statements,that change the values of these variables.,The building-block of this type program is the,procedure,or,function,.,Programs=Algorithm,+,Data Structure,Struct account,char name;,int accountId;,float balance;,float interestYTD

17、char accountType;,;,Data Structure:,Bank Account,Procedure 1:Deposit().,Procedure 1:Withdraw().,Procedure 1:Transfer().,Object-Oriented Programming-Example,Object-Oriented approach,combine the accounts(data)with the operations on the accounts to objects.,A new kind of data type:BankAccount class,C

18、code:,Class BankAccount,private:,float balance;,float interestYTD;char*owner;,int account_number;,public:,void Deposit(float amount).,float WithDraw(float amount),bool Transfer(BankAccount&to,float amount),;,Object-Oriented Programming-Example,The building-block of this type program is,class,or,obj

19、ects,.,C+,案例(计算机内的对象),1.2 student_class.cpp,1.3 construct_class.cpp,1.4 construct_class_1.cpp,1.5 overload.cpp,1.6 overload.cpp,1.7 hierarchy.cpp,1.8 hierarchy.cpp,36,Java,案例(计算机内的对象),引用:,PassTest.java,重载:,methodoverloadingtest,多态:,geometrydemo,永久对象:,JDBC,37,Contents,38,内容,1.,问题提出,2.OO,思想与,OO,程序,3.O

20、O,概念与原则,4.OO,优点,面向对象方法概论,Object Oriented Method,Basic concepts of OO,Basic Concepts of Object Orientation,Object,对象,Class,类,Message,消息,association,关联,aggregation,聚合,Basic Principles of Object Orientation,面向对象的基本原则,Abstraction,抽象,Encapsulation,封装,Inheritance,继承,Polymorphism,多态,Interface and Abstract

21、Class,接口与抽象类,行为分析,复杂性控制,What Is an Object?,Informally,an object represents,代表,an entity,实体,either physical,conceptual,or software.,Physical,物理,entity,Conceptual,概念,entity,Software,软件,entity,Truck,Chemical Process,Linked List,A More Formal Definition,正式的定义,An object is an entity with a well-defined,明

22、确定义,的,boundary,边界,and identity,标识,that encapsulates,state,状态,and,behavior,行为,.,State is represented by attributes,属性,and relationships,关系,.,Behavior is represented by operations,操作,methods,方法,and state machines,状态机,.,Object,Operations,Attributes,An Object Has State,状态,The state of an object is one o

23、f the possible conditions,可能的状况,in which an object may exist.,The state of an object normally changes over time,随着时间而变化,.,Name:J Clark,Employee ID:567138,HireDate:07/25/1991,Status:Tenured,Discipline:Finance,MaxLoad:3,Name:J Clark,Employee ID:567138,Date Hired:July 25,1991,Status:Tenured,终身的,Discipl

24、ine:Finance,Maximum Course Load:3 classes,Professor Clark,Professor Clark,An Object Has Behavior,行为,Behavior determines,决定,how an object acts and reacts,行为与反应,.,The visible,可见的,behavior of an object is modeled,建模,by the set of messages it can respond to,可以响应,(operations the object can perform,对象能够执行

25、的操作,).,Professor Clarks behavior,Submit Final Grades,Accept Course Offering,Take Sabbatical,Maximum Course Load:3 classes,Subm,itFinalGrades,(),AcceptCourseOffering(),TakeSabbatical(),Professor Clark,SetMaxLoad(),Professor Clark,An Object Has Identity,标识,Each object has a unique identity,唯一标识,even i

26、f the state is identical to that of another object.,Professor“J Clark”teaches Biology,Professor“J Clark”teaches Biology,Objects Need to Collaborate,合作,Objects are useless unless they can collaborate together to solve a problem.,Each object is responsible for its own behavior and status.,No one objec

27、t can carry out,执行,every responsibility,责任,on its own,独自,.,How do objects interact,相互作用,with each other?,They interact through messages.,What Is a Class?,A class is a description of a set of,一组,objects that share the same,properties,and,behavior,.,An object is an instance of a class.,Objects,Profess

28、or Smith,Professor Jones,Professor Mellon,Class:Professor,Attributes,Operations,A Sample Class,Data Items:,manufacturers name,制造商,model name,产品型号,year made,color,number of doors,size of engine,发动机,etc.,Methods:,Define data items(specify,指定,manufacturers name,model,year,etc.),Change a data item(color

29、engine,etc.),Display data items,Calculate cost,etc.,Class:Automobile,The Relationship Between Classes and Objects,A class is an abstract definition of an object.,It defines the structure and behavior of each object in the class.,It serves as a template,模板,for creating objects,Objects are grouped in

30、to,分组,classes.,An object is an instance,实例,of a class.,Objects,Professor Smith,Professor Jones,Professor Mellon,From Real World,abstracting,Class:Professor,To computer World,instancing,Objects,What Is an Attribute,属性,?,An attribute is a named property of a class that describes a range of values,一套变量

31、instances of the property may hold.,A class may have any number of attributes or no attributes at all.,Attributes,Attributes in Classes and Objects,name:M.Modano,address:123 Main,studentID:9,dateofBirth:03/10/1967,name:D.Hatcher,address:456 Oak,studentID:2,dateofBirth:12/11/1969,Class,Objects,What

32、Is an Operation?,An operation is the implementation of a service that can be requested from any object of the class to affect behavior.,A class may have any number of operations or none at all.,Operations,class Professor,private String name;,private int age;,private String speciality;,public Profess

33、or(String sm,int ia,String ss),name=sm;,age =ia;,speciality =sst;,public String getName()return name;,public int getAge()return age;,public String getSpeciality()return speciality;,Example:class,P,rofessor,Professor,-,name:String,-,age:int,-,speciality:String,+,getName():String,+,getAge():int,+,getS

34、peciality():String,wang:Professor,name =“wang”,age=35,speciality =“computer”,Professor wang =new Professor (“wang”,35,“computer”);,Example:Instance of Professor,What is a message?,A specification,规格,of a communication between objects that conveys,传输,information with the,expectation,期望,that activity,

35、行动,will ensue,跟着发生,One object asks another object to perform an operation.,Professor wang,wang.getName(),What is your name?,Example:Object Interaction,The OrderEntryForm wants Order to calculate the total dollar value for the order.,OrderEntryForm,Order,orderID,date,salesTotal,tax,shipDate,Calculate

36、OrderTotal(),calculateOrderTotal(),The class Order has the,responsibility,to calculate the total dollar value.,Message,Basic Principles,原则,of Object Orientation,Object Orientation,面向对象,Encapsulation,封装,Abstraction,抽象,Polymorphism,多态,Inheritance,继承,What Is Abstraction?,Abstraction can be defined as:,

37、Any model that includes the most important,重要的,essential,基本的,or distinguishing,区分的,aspects of something while suppressing,抑制,or ignoring,忽略,less important,immaterial,不重要的,or diversionary,转移注意力的,details.The result of removing distinctions,区别,so as to emphasize commonalties,共同点,.(,Dictionary of Object

38、 Technology,Firesmith,Eykholt,1995),Abstraction,Emphasizes relevant characteristics.,Suppresses other characteristics.,BriefCase,-,Capacity,-,Weight,+open(),+close(),Example:Abstraction,Student,Professor,Course Offering(9:00 AM,Monday-Wednesday-Friday,),Course(e.g.Algebra),What Is Encapsulation?,Enc

39、apsulation,means to design,设计,produce,生产,and describe,描述,software so that it can be easily used,使用,without knowing the details,细节,of how it works.,Also known as,information hiding,信息隐藏,An analogy,类比,:,When you drive a car,you dont have to know the details of how many cylinders,汽缸,the engine has or h

40、ow the gasoline,汽油,and air,空气,are mixed and ignited,点燃,.,Instead,相反地,you only have to know how to use the controls.,What Is Encapsulation?,Improves Resiliency,弹性,Hide implemmentation,实现,from clients,clients depend on interface,Encapsulation Illustrated,举例说明,Professor Clark needs to be able to teach

41、four classes in the next semester.,SubmitFinalGrades,(),AcceptCourseOffering,(),TakeSabbatical,(),Professor Clark,SetMaxLoad(),Name:J Clark,Employee ID:567138,HireDate:07/25/1991,Status:Tenured,Discipline:Finance,MaxLoad:4,SetMaxLoad(4),Encapsulation Information,/,Implementation hiding,Interface,Imp

42、lementation details which are unvisuable for client.,Information which cant be accessed by client,Client,Deposit(),With,d,raw(),Transfer(),Balance,insterestYTD,Owner,Account_number,Deposit(),Withdraw(),Transfer(),What Is Inheritance?,Inheritance,a way of organizing classes,Term,术语,comes from inherit

43、ance of traits,特征,like eye color,hair color,and so on.,Classes with properties in common can be grouped so that their common properties are only defined once.,Is an“is a kind of”relationship,An Inheritance Hierarchy,层级,Vehicle,车辆,Automobile,汽车,Motorcycle,摩托车,Bus,公共汽车,Sedan,轿车,Sports Car,School Bus,L

44、uxury Bus,豪华客车,What properties does each vehicle inherit from the types of vehicles above it in the diagram?,Example:Single Inheritance,单继承,One class inherits from another.,Checking,Savings,Superclass(parent),Subclasses,Inheritance Relationship,Ancestor,Descendents,Example:Multiple Inheritance,多重继承,

45、A class can inherit from several other classes.,Use multiple inheritance only when needed and,always with caution!,Multiple Inheritance,Polymorphism,多态性,Polymorphism,the same word or phrase can be mean different things in different contexts,不同情境下的不同东西,Analogy:in English,bank can mean side of a river

46、 or a place to put money,In Java,two or more classes could each have a method called,output,Each,output,method would do the right thing for the class that it was in.,One,output,might display a number,数字,whereas a different one might display a name,名字,.,What Is Polymorphism?,The ability to hide many

47、different implementation behind a single interface.,Manufacturer A,Manufacturer B,Manufacturer C,OO Principle:Encapsulation,Example:Polymorphism,Stock,股票,Bond,债券,Mutual Fund,共有基金,Get Current Value,getCurrentValue(),getCurrentValue(),getCurrentValue(),Realization relationship,(stay tuned for realizat

48、ion relationships),What is an Interface?,An,interface,is a collection of operations that specify a service of a class or component.,Interfaces formalize polymorphism,Interfaces support“plug-and-play”architectures,Shape,draw(),move(),scale(),rotate(),Tube,Pyramid,Cube,What,How,Elided,省略,/Iconic,图标,Re

49、presentation(“lollipop”,棒棒糖,),Canonical,标准的,(Class/Stereotype)Representation,(stay tuned for realization relationships),How Do You Represent An Interface?,Shape,draw(),move(),scale(),rotate(),Shape,Tube,Pyramid,Cube,Tube,Pyramid,Cube,What is an Abstract Class?,An,abstract class,is a class that may n

50、ot has any direct instances.,In the UML,a class is abstract by writing its name in italics.,An,abstract operation,is an operation that it is incomplete,未完成的,and requires a child,子类,to supply an implementation,实现,of the operation.,In the UML,an abstract operations name is italics.,Abstract class,Abst

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服