- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
对象(object)5.3面向对象基本概念*STEP4STEP3STEP2STEP1定义:对象是对问题域中某个实体的抽象(映射到计算机领域)。这里的实体既可以是物理实体,也可以是逻辑或者人为概念上的实体。对象是一个封装体,将对象的属性及其操作封装在一起。对象是一台自动机。对象属性集合表示对象的状态,对象的状态由对象的操作改变(当接收到其他对象发来的消息时)。并行性是对象的本质特征。(对象间的并行性、对象本身的并行性)5.3面向对象基本概念*定义:按照类模板建立起来的具体对象就是实例;实例是一个具体的对象。(对象有泛指的含义)实例(instance)类(class)定义:是对具有相同属性和行为的一组对象的描述。在程序设计语言中,类是一种抽象数据类型。具体对象是类的实例。抽象类:用来定义协议。不具备直接的具体的对象实例。接口(interface)5.3面向对象基本概念*对象声明的每一个操作需要指定操作名、作为参数的对象和返回值类型,这就是所谓的操作的型构(signature)。对象接口描述了该对象所能接受的全部请求的集合,任何匹配对象接口中型构的请求都可以发送给该对象。对象接口与其功能实现是分离的,不同对象可以对请求做不同的实现,也就是说,两个有相同接口的对象可以有完全不同的实现。对象操作所定义的所有对外提供服务的操作型构的集合被称为该对象的接口(interface)。在面向对象系统中,接口是基本的组成部分。对象只有通过它们的接口才能与外部交流,如果不通过对象的接口就无法知道对象的任何事情,也无法请求对象做任何事情。当给对象发送请求时,所引起的具体操作既与请求本身有关又与接受对象有关。支持相同请求的不同对象可能对请求激发的操作有不同的实现。发送给对象的请求和它的响应操作在运行时刻的连接就称之为动态绑定(dynamicbinding)。5.3面向对象基本概念*类型(type)类型是用来标识特定接口的一个名称。一个对象可以有许多类型,并且不同的对象可以共享同一个类型。对象接口的某部分可以用某个类型来刻画,而其他部分则可用其他类型刻画。两个类型相同的对象只需要共享它们的部分接口。类型和类之间有什么关联呢?类型和类之间的关联5.3面向对象基本概念*类是对象的构造模板,类型是对象的操作型构集合。因此,类型规定了对象所能处理的消息集合。类是类型的基础,类型靠类来定义。5.3面向对象基本概念*抽象类(abstractclasss)所有的对象都是通过类来实例化的,但是反过来却不是这样。并不是所有的类都是用来实例化对象的。如果一个类中没有包含足够的信息来实例化一个具体的对象,这样的类就是抽象类。抽象类往往用来表征对问题领域进行分析、设计得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。如:对圆、三角形进行抽象形成的图形概念。抽象类在问题领域没有对应的具体概念,所以用以表征抽象概念的抽象类是不能够实例化的。只能通过派生类实例化对象。在面向对象领域,抽象类主要用来进行类型隐藏。可以构造出一个固定的一组行为的抽象描述,但是这组行为却能够有任意个可能的具体实现方式。这个抽象描述就是抽象类,而这一组任意个可能的具体实现则表现为所有可能的派生类。5.3面向对象基本概念*抽象类和接口的区别:abstractclassDemo{
abstractvoidmethod1();
abstractvoidmethod2();
…}interfaceDemo{
voidmethod1();
voidmethod2();
…
}1.抽象类可以有自己的数据成员,也可以有非abstract操作成员;接口的操作成员全部是abstract的,而且一般没有数据成员,即使有也只能是staticfinal的,不能修改。2.抽象类和接口都可以实现DBC(DesingByContract)的设计思想;3.接口是一种特殊的抽象类;4.抽象类定义了一种继承关系,接口定义了一种契约关系。5.Java中,只能从一个抽象类派生子类(单继承),但是可以有多个类实现一个相同的接口。5.3面向对象基本概念*消息(message)对象之间相互作用构成系统,那么如何相互作用呢?通过发送消息。消息是发送对象为了激活接收对象执行某一个功能的唯一手段。消息=接收对象的标识+消息名+参数方法(method):对象的操作成员属性(attribute):对象的数据成员继承(inheritance)5.3面
文档评论(0)