欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    ISE-2-2-信息系统开发之面向对象概念.ppt

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

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

    ISE-2-2-信息系统开发之面向对象概念.ppt

    4 4 面向对象的概念面向对象的概念4.1 4.1 4.1 4.1 起源起源起源起源4.2 4.2 对象和类对象和类4.3 4.3 消息和方法消息和方法4.4 4.4 对象接口对象接口4.5 4.5 4.5 4.5 继承性继承性4.6 4.6 封装性封装性4.7 4.7 多态性多态性14.1 起源在软件开发过程中及使用后,使用者会不断地提出各种更改要求。而结构化方法开发的程序中:l这种修改往往是很困难的,而且还会因为计划或考虑不周,不但旧错误没有得到彻底改正,又引入了新的错误;l另一方面,在结构化程序开发中,代码的重用率很低,使得程序员的效率并不高。为提高软件系统的稳定性、可修改性和可重用性,人们在实践中逐渐创造出软件工程的一种新途径面向对象方法学。面向对象基本概念2面向对象基本概念1967年起源80年代才出现采用Simula首创的对象、属性、消息等编程模式趋于成熟SmalltalkObjective CC+Smalltalk-80C+Simula OOP的出现Object-Oriented Programming(OOP)Object-Oriented Analysis&Design(OOA&OOD)3面向对象方法的出发点和基本原则是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界、解决问题的方法与过程。面向对象程序员的观点:计算机程序结构应该与要解决的问题一致,而不是与某种分析或开发方法保持一致。l经验表明,对任何软件系统而言,其中最稳定的成分往往是其相应问题域(problem domain)中的成分。面向对象基本概念世界世界对象2对象1对象m对象n对象34 面向对象方法具有下述四个要点:(1)认为客观世界是由各种对象组成的,任何事物都是对象。l世界:学校、学生、教师、桌子、教学楼、书籍等等对象 (2)把所有对象都划分成各种对象类(简称为类),每个对象类都定义了一组数据和一组方法。l学生类:包含的对象有张三、李四等多个学生l学生类的数据:姓名(name),性别(gender),年龄(age),籍贯(hometown)等l学生类的方法:getName(),setName(),getAge(),calculateMark()面向对象基本概念5 (3)按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统(也称为类等级)。(4)对象彼此之间仅能通过传递消息互相联系。面向对象基本概念64 4 面向对象的概念面向对象的概念4.1 4.1 起源起源4.2 4.2 4.2 4.2 对象和类对象和类对象和类对象和类4.3 4.3 消息和方法消息和方法4.4 4.4 对象接口对象接口4.5 4.5 4.5 4.5 继承性继承性4.6 4.6 封装性封装性4.7 4.7 多态性多态性74.2 对象和类某个信息系统所要处理的问题涉及的领域(范围)叫做问题空间(问题域),而对象是问题空间中与系统问题处理相关的事物的抽象体。l不同视角的观点:l用户对象相当于现实世界的某类事物;l系统分析员对象是描述该事物的一组属性数据和作用于这些属性数据之上的操作方法。l一个对象是把事物的属性和对属性数据的操作方法结合而成的整体。面向对象基本概念8对象表示真实的事物,它可以是视觉可见的东西或抽象概念,它既可以是主动的、可以启动或控制过程的事物,也可以是被动响应服务请求的事物。对象有三个特性:预定义行为、状态和标识。l预定义行为是对象初始时所定义的动作序列,直观地说,是对象定义的各种方法的集合。l一个对象可以有任意个属性或域,对象的状态和存储在它的域中的值相对应。l而标识是对象的唯一编号,用来与其他对象相区别。面向对象基本概念9学生对象张三,其数据包括(name,gender,age,grade)状态:l状态1:(张三,男,18,大一)l状态2:(张三,男,19,大二)l状态3:(张三,男,20,大三)预定义行为:getName(),setName(),getAge(),calculateMark()标识一个独有的引用:张三面向对象基本概念10一个类定义了一组大体上相同的对象。一个类所包含的操作方法和属性数据描述了一组对象的共同行为和属性。l如学生是一个类,学生丁三、李四是两个对象,是学生类的实例。每一个对象都属于某个类。类不仅决定了对象的类型,还决定它的域(属性)和方法。l域和方法在类定义中表达出来。l创建一个新对象时,与对象类型相对应的类定义决定了对象的结构和行为。面向对象基本概念类(Class)11一个类的上层可以有超类,下层可以有子类,形成一种层次结构,且在这种类层次结构中,一个类可以有多个超类,也可以有多个子类。类和类之间的主要关系:l分类结构:l聚集结构:l关联关系:面向对象基本概念12 类的主要功能有三个:l类定义了类型,即一组对象共有的属性和方法;l类提供了它的类型的实现,它定义了实例如何表示以及根据选定的表示方法如何实现;l类提供了初始化实例的构造器,构造器可以用来创建和初始化新的实例。面向对象基本概念13class Student String name;int age;String grade;public Student()age=0;public String getName()return name;public int getAge()return age;面向对象基本概念/变量定义Student amy;Student richard;/变量初始化amy=new Student();/方法调用int nowAge=amy.getAge();类Student的构造器144 4 面向对象的概念面向对象的概念4.1 4.1 起源起源4.2 4.2 对象和类对象和类4.3 4.3 4.3 4.3 消息和方法消息和方法消息和方法消息和方法4.4 4.4 对象接口对象接口4.5 4.5 4.5 4.5 继承性继承性4.6 4.6 封装性封装性4.7 4.7 多态性多态性15对象之间进行通信的数据叫做消息。当一个消息发送给某个对象时,包含要求接收对象去执行某些活动的信息,接收到消息的对象对其进行解释,然后予以响应。这种通信机制叫做消息传递。一个消息由下列三个元素组成:l消息名;l零个或多个参数列表,为接收对象提供数据信息;l对接收对象的引用。面向对象基本概念4.3 4.3 消息消息(Message)(Message)和方法和方法(Method)(Method)16public class Student private int age;public void setAge(int newAge)age=newAge;public int getAge()return age;面向对象基本概念Student amy;amy=new Student();amy.setAge(20);定义了类Student的对象amy接收对象消息名参数17方法就是与一个对象有关的过程,即实现某一操作的一段代码。一个对象可以有任意数目的方法。当对象收到一个消息时,决定调用哪个方法来响应消息的过程称为方法绑定。方法绑定就是找到型构(signature)和消息的元素相匹配的方法:l方法名与消息名相匹配;l方法的参数表与消息的参数表在类型和数目上相匹配。执行与消息对应的预定义行为可能会产生三种结果:l返回一个值给消息发送者。l改变接收者的状态。l改变作为参数传给接收者的对象的状态。面向对象基本概念18面向对象基本概念对象Student具有以下方法:getName()getAge()setAge()getMark(String grade)getMark(String grade,String course)方法绑定:Student amy;amy.getAge();amy.getMark(”first year”,”english”);定义了类Student的对象amy寻找型构相同的方法getAge()寻找型构相同的方法getMark(String grade,String course)194 4 面向对象的概念面向对象的概念4.1 4.1 起源起源4.2 4.2 对象和类对象和类4.3 4.3 4.3 4.3 消息和方法消息和方法消息和方法消息和方法4.4 4.4 4.4 4.4 对象接口对象接口对象接口对象接口4.5 4.5 4.5 4.5 继承性继承性4.6 4.6 封装性封装性4.7 4.7 多态性多态性20对象可响应的消息是由对象接口决定的。l对象接口以一组操作方法的形式出现;l每一个操作对应于在响应某个消息时对象所完成的预定义行为;l客户通过对象接口来理解对象支持的各种行为,并根据接口来发送消息。调用对象的操作方法是要遵守一定的规则,这些规则描述了如何使用对象的每一个操作。例如,当一个Person对象接收到带有一个参数的setAge()消息时,规则要求这个参数必须是整型数值对象,下面的消息就违反了对象调用规则:p.setAge(null);面向对象基本概念4.4 对象接口(Interface)21对象接口的分类:面向对象基本概念公有接口:定义了一组可供任何对象发送的消息和调用的操作方法限制型接口:对象提供了仅供某些类型的客户使用的限制型操作。22class Student private String name,nickname;private int age;private String grade;public Student()age=0;public String getName()return name;public int getAge()return age;public void setName(String newName)name=newName;setNickName(“nick”+newName);private void setNickName(String newName)nickname=newName;234 4 面向对象的概念面向对象的概念4.1 4.1 起源起源4.2 4.2 对象和类对象和类4.3 4.3 消息和方法消息和方法4.4 4.4 对象接口对象接口4.5 4.5 4.5 4.5 继承性继承性继承性继承性4.6 4.6 封装性封装性4.7 4.7 多态性多态性24 继承性是类层次结构中的一个重要特点,是超类和子类之间共享数据和操作方法的机制。面向对象基本概念继承部分 增加部分从A继承AB4.5 继承性(inheritance)25面向对象基本概念继承是软件重用的一个基本机制。当通过继承定义一个新类时,新类获得了已存在类的属性和行为。l新类称为子类,而已存在类称为超类或父类。l子类又可以是其他类的父类,这就形成了继承层次结构。RectangleEllipseRegionPointFigureLineSegmentCirclePoint,LineSegment,Region的父类Ellipse,Rectangle,Circle的父类类Figure的子类26面向对象基本概念 继承有下面三种使用方式:l 子类定义新的属性和方法作为对它所继承的属性和方法的补充。l 子类重新实现所继承的一个或多个方法。被子类重定义的方法称为被覆盖了;也可以说子类覆盖了特定的方法。l 方法被覆盖后,类的行为发生了变化:对同一个消息,子类和父类的实例调用不同的方法,产生不同的行为。l 子类实现一个或多个其父类声明但没有实现的方法。这种情况下,这个父类就是一个抽象类,而它声明但没有实现的方法称为抽象方法。27class Student public Student()age=0;String name;int age;String grade;public String getName()return name;public String getName()return name;public int getAge()return age;class MiddleStudent extends Student String nickName;String nickName;public String getName()return nickName;public String getName()return nickName;面向对象基本概念/变量定义Student amy;MiddleStudent richard;/变量初始化。/方法调用amy.getName()和richard.getName()对类Student的拓展对类Student方法的覆盖28abstract class Student public Student()age=0;String name;int age;String grade;public String getName()return name;public String getName()return name;public int getAge()return age;public abstract void setAge(int newAge);public abstract void setAge(int newAge);class MiddleStudent extends Student String nickName;String nickName;public String getName()return nickName;public String getName()return nickName;public void setAge(int newAge)age=newAge;public void setAge(int newAge)age=newAge;面向对象基本概念/变量定义MiddleStudent richard;/变量初始化。/方法调用richard.getName()和 richard.setAge(5)对类Student的拓展实现抽象方法对类Student方法的覆盖29面向对象基本概念 继承的优点l易编程、易理解:代码短,结构清晰l易修改:共同部分只要在一处修改即可l易增加新类:只须描述不同部分304 4 面向对象的概念面向对象的概念4.1 4.1 起源起源4.2 4.2 对象和类对象和类4.3 4.3 消息和方法消息和方法4.4 4.4 对象接口对象接口4.5 4.5 4.5 4.5 继承性继承性4.6 4.6 4.6 4.6 封装性封装性封装性封装性4.7 4.7 多态性多态性31面向对象基本概念4.6 封装性(encapsulation)封装是把一组相关软件元素组织到一起的方法,其目的在于将对象的使用者和设计者分开,使用者不必知道对象行为实现的细节,只须用设计者提供的对象接口来访问对象。利用封装来隐藏那些不属于对象公有接口的软件元素称为信息隐藏。封装的定义为:对所有对象的内部软件范围的边界进行限定;对各对象之间相互作用的接口进行描述;对每个对象的内部实现(操作程序和数据)进行保护。32面向对象基本概念class Example private float bankRate;public float testResult()return bankRate;类Example定义了自己的软件范围;仅能通过Example的接口来进行访问;类的属性定义和方法的具体实现外部不可见。33面向对象基本概念 封装的好处:l隐藏和保护对象的内部信息l在对象行为发生变化时不会对其他对象产生影响344 4 面向对象的概念面向对象的概念4.1 4.1 起源起源4.2 4.2 对象和类对象和类4.3 4.3 消息和方法消息和方法4.4 4.4 对象接口对象接口4.5 4.5 4.5 4.5 继承性继承性4.6 4.6 封装性封装性4.7 4.7 4.7 4.7 多态性多态性多态性多态性35面向对象基本概念4.7 多态性(polymorphism)在收到消息时,对象要予以响应,不同的对象收到同一消息可能产生多种不同的结果,即会有多种不同形式,这就是多态。在使用多态时,用户可以发送一个通用的消息,而实现的细节则由接收对象自行决定。多态的实现受到继承性的支持。l把具有通用功能的消息存放在高层次,而实现这一功能的不同的行为放在较低层次,则在这些低层次上生成的对象就能对通用消息做出不同的响应。36面向对象基本概念Figure figPara;figPara=new LineSegment();/figPara=new Point();/figPara=new Region();figPara.draw();/对象figPara可以是上述四个类中的任一个类的实例对象Regiondraw()Pointdraw()Figuredraw()LineSegmentdraw()37面向对象基本概念 好处:l系统很灵活,易扩充:发送者只知道另一个实例可以执行某个行为,但不知道该实例属于哪个类。l如打印功能,打印某页到某页,发送print命令,打印设备可以是任意类型。增加一种新的打印设备,不必修改发送打印命令的类,也不必修改其它设备的类。38

    注意事项

    本文(ISE-2-2-信息系统开发之面向对象概念.ppt)为本站会员(wuy****n92)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开