C语言-华北电力大学8-kj8.ppt

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言-华北电力大学8-kj8

第八章 面向对象的程序设计基础 华北电力大学 主要内容 对象 继承 封装 方法 对象 面向过程:程序=数据结构+算法 维护不方便 代码重用率不高 为了避免面向过程的方法的缺点,人们开始利用面向对象的处理方式 面向过程定义数据结构来容纳信息,通过函数、过程等来处理信息 面向对象的设计思想是将数据和函数合并在一起,进行封装。这称为对象 一个对象既包含了实体的属性(数据),又包含了实体的动作行为(过程和函数) 面向对象的思维方式 把要处理的事物作为整体来处理,及对象,包括现实生活中存在的和虚幻的事物。比如:要设计一个程序,计算黑板的面积,则黑板就可以作为一个对象,它包括黑板的属性:长、宽,计算面积的函数。 对象的定义和使用 如下例程 Program ooptest; type test1= object i:integer; procedure test1init; procedure test1pro(k:integer;var j:integer); end; Procedure test1.test1init; begin i:=100 end; Procedure test1.test1pro(k:integer;var j:integer); begin j:=i+k end; var m,n:integer; t:test1; Begin m:=111; {也可以使用t.test1init的调用方式} with t do begin test1init; test1pro(m,n) end writeln(n); End. 继承 对象可以包含自己的属性和方法,也可以继承其他对象的属性和方法,从而达到代码重用的目的。 主要是模拟现实生活中的关系。比如将动物定义为一个对象,而老虎对象就可以继承动物对象的属性和方法 Type movement= airstatus= object object(movement) direction:0..360; altitude:0..3500; speed:0..400; procedure init; procedure init; procedure ascend; procedure accelerate; end; end; 被继承者称为祖先,继承者称为后代 祖先和后代的方法可以重名,如果后代变量调用重名的方法时,后代的方法起作用 祖先和后代的属性不允许重名 封装 OOP的首要目标是封装 OOP的封装是为了避免程序员随意访问对象内部的属性和方法。比如访问对象的属性是通过对象的方法实现的。 说明:在turbo pascal中,允许直接访问对象的属性,但从面向对象的编程思想来说,程序员不应该直接访问这些属性。 方法 静态方法:如果发生方法重名,被调用的方法离调用者最近 虚拟方法:如果发生方法重名,被调用的方法是初始环境下的方法 Type movement= airstatus= object object(movement) direction:0..360; altitude:0..3500; speed:0..400; constructor init; constructor init; procedure ascend; procedure accelerate; end; end; * *

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档