第12章COBOL中的面向对象技术.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第12章COBOL中的面向对象技术

第12章 COBOL中的面向对象技术 通常而言,使用COBOL语言大多数进行的是面向过程的编程。不过在新的COBOL标准中,也可实现面向对象编程。并且,面向对象技术也是当前一种比较流行的编程技术。实际上,面向对象技术本身就是一门独立的学科。 12.1 面向对象的基本概念 面向对象的概念是同面向过程的概念相对应的。传统的编程方式是面向过程的。面向过程的编程方式通常也叫做结构化编程。面向过程的技术是基于程序的执行步骤,根据程序的具体结构而来的。也就是说,面向过程的编程思想是从机器的角度出发来考虑问题的。最常见的基于面向过程的程序设计语言是C语言。 与之对应,面向对象的编程思想则是从现实世界的角度出发来考虑问题的。当前流行的Java语言和C++语言通常使用的就是面向对象的编程技术。在面向对象编程中通常会涉及到以下几个基本概念,下面分别予以介绍。 12.1.1 对象的概念 前面讲到,面向对象的编程思想是从现实世界的角度出发来考虑问题的。因此,在现实世界中存在的任何一个具体事物都可以作为面向对象技术中的对象。例如,以下就为3个现实对象。 一个人 一辆车 一只狗 需要注意的是,现实世界中的对象都有两个性质:对象的状态和对象的行为。例如,对于以上3个对象,其各自的状态可以如下。 这个人的姓名、年龄、当前心情的好坏等等。 这辆车的型号、价格、新旧程度等等。 这只狗的品种、颜色、是否饿了等等。 而这3个对象各自的行为则可以如下。 工作、娱乐、学习COBOL等等。 启动、刹车、加速等等。 叫、抓东西、摇尾巴等等。 以上列举的是现实对象,当将其应用到程序中,则称之为软件对象。软件对象同样也是有状态和行为的。软件对象中的状态是通过其中的变量表示的,而软件对象中的行为则是通过其中的方法实现的。方法在面向对象技术中通常是指一个与对象相关联的函数。在COBOL中,方法需要单独定义。COBOL中的方法相当于一系列处理过程。 因此,严格的说,对象是变量和相关方法的软件组合。其中特定的对象被称为实例。此外,将对象的变量置于它的方法的保护之下,这种技术也被称为封装。 12.1.2 类的概念 在现实世界中,从相同类型的对象中提取出一个抽象的概念,便形成了类。例如,对于前面提到的3个对象,实际上分别属于以下这3个类。 人 车 狗 实际上,前面所说的一个人这个对象也就是人这个类的一个实例。人是有一些共性的,在面向对象中称之为共同的状态和行为。这些共同的状态和行为便是在类中进行定义的。 因此,严格的说,类是蓝图或原型,它定义了所有某种类的对象的共有的变量和方法。类变量包含由此类的所有实例共享的信息,所有实例共享此变量。类方法可以直接从类进行调用,而实例方法则必须在一个特定的实例上调用。 12.1.3 继承的概念 关于继承,首先需要了解上级类和子类的概念。上级类也可称为基类或父类,而子类也可称为派生类。例如,若将前面所说的3个类作为上级类,则下面分别可以作为与其相对应的子类。 男人、女人、老人、好人等等。 公交车、小轿车、卡车、自行车等等。 家犬、警犬、猎犬、牧羊犬等等。 当子类对象只有一个上级类对象时,称为单继承。例如,对于一个男人这个对象,是从一个人这个上级类对象继承而来,故是单继承。 当子类对象有两个或多个上级类对象时,则称为多继承。例如,可以将上面的男人类和好人类同时作为上级类,生成一个好男人的子类。则对于一个好男人这样一个对象,是分别从其上级类对象一个男人和一个好人继承而来的。这种情况便属于多继承。COBOL语言是支持多继承的。 从状态和行为的角度来看,继承可以分为取代继承、包含继承、受限继承和异化继承。下面分别予以介绍。 取代继承:子类对象完整地继承了所有上级类的所有状态和行为。并且,子类没有修改原有的状态和行为或者增加新的状态和行为。 包含继承:子类对象完整地继承了所有上级类的所有状态和行为。同时,子类还增加了新的状态和行为。 受限继承:子类对象部分地继承了上级类的状态和行为,并且没有增加新的状态和行为。 异化继承:子类对象继承了上级类的状态和行为,并且对原有的状态和行为进行了修改。 12.1.4 消息的概念 消息是用于软件对象的交互和通信的。例如,当一个对象希望另一个对象执行一个方法时,则该对象需要发送一个消息给另一个对象。例如,对于前面的例子,在以下的过程执行中将传递相应的消息。 一个人向另一个人打招呼。 一个人将一辆车启动。 一个人给一只狗喂食。 通常,消息是由以下这3个部分组成的。 消息被发送到的对象。 要执行的方法的名称。 需要由此方法传递的任何参数。 12.1.5 多态的概念 多态可以分为编译时多态和运行时多态两种类别。其中编译时多态通常也称作重载。默认情况下,多态一般指的是运行时多态。 多态通常是根据消息而来的。例如,在课堂上老师给

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档