JAVA电子教案谭浩强第4章.pptVIP

  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文档。上传文档
查看更多
第4章 面向对象编程 4.1 面向对象基本概念 4.2 Java的类与对象 4.3 成员变量与封装 4.4 成员方法 习题 4.1 面向对象基本概念 4.1.1 对象 现实世界中,对象(object)是状态(属性)和行为的结合体,对象随处可见。对象普遍具有的特征是状态和行为。 在开发软件的信息世界中,对象定义为相关数据和方法的集合。对象是现实世界对象的抽象模型。从现实世界对象中抽象出来的对象使用数据和方法描述其在现实世界中的状态和行为特征,一般通过变量描述其状态,通过方法实现其行为。变量是一种有名称的数据实体,而方法则是和对象相关的函数或过程。 信息世界中的对象不仅可以表达现实世界中的具体对象,如在动画程序里用一个小狗模型代表现实世界里的小狗,还可以表达现实世界中的一些抽象概念,例如图形用户界面的窗口就是一个抽象概念的对象,它具有大小等状态数据,还具有打开、运动等行为方法。 如果给定了动画程序里小狗的名字、形状、移动速度和移动方法,就有了一个确定的对象,称为实例对象。相应地,和一个实例对象相关的变量称为实例变量,相关的方法称为实例方法。 4.1.2 封装 封装的含义是把类设计成一个黑箱,使用者只能看见类中定义的公共方法,而看不到方法实现的细节,也不能直接对类的数据进行操作,迫使用户通过接口去访问数据,这种封装正是面向对象编程设计者追求的理想境界。相关数据和方法封装到一个包里,为程序员带来了两个好处: 模块化和数据隐藏。模块化意味着对象源代码的编写和维护可以独立进行,不会影响到其他模块,而且有很好的重用性。数据隐藏则使对象有能力保护自己,对象提供一个公共接口和其他对象联系,自行维护自身的数据和方法而不影响所有依赖于它的对象。 4.1.3 消息 单独一个对象是没有什么作用的,多个对象联系在一起才会有完整的功能。对象之间的相互联系和相互作用是靠消息(message)的传递完成的。 在下面的例4.1中可以看出,单击“相加”按钮,一个事件消息就传递给事件监听者对象。事件监听者对象调用相应的事件处理方法进行响应,最后将处理结果以消息的形式传递给文本域对象。文本域对象用自身的方法接收消息,并将结果显示出来。由此看出,对象的行为由方法来实现,消息传递是对象之间进行交互的主要方式。构成消息的3个要素是: 接收消息的对象、接收消息后进行处理的方法和方法所需要的参数。 4.1.4 类 现实世界中有很多同类对象。例如,你的自行车是千千万万辆自行车中的一个,用面向对象编程术语说,是自行车类的一个实例。自行车类有很多共同特征(状态和行为),但你的自行车和其他自行车是有区别的。 基于同样道理,面向对象编程总结对象的特征设计成类(class)。类就是对象的软件图纸、模板或原型,它定义了同类对象共有的变量和方法。例如,自行车类定义了自行车必须有的状态和行为: 车轮、变速器、刹车器、如何驱动、如何变速、如何刹车等。你可以用它生成一个有特定状态和方法的实例,别人也可以用它生成一个属于自己的实例。 对象和类的描述尽管十分相似,但它们还是有区别的。现实世界中,类不能代表它所描述的对象,这是非常清楚的,因为自行车图纸毕竟不是自行车。但在软件业中二者不太容易区分。一方面,由于软件对象都是现实对象或抽象概念的电子模型;另一方面,经常不加区分地将对象和类统称为“对象”。 Java编程就是设计类,可以采用自定义方法或继承方法设计一个类,然后使用它的实例对象完成具体的功能。 4.1.5 继承 面向对象编程允许用一个类定义另外一个类。子类继承了父类的状态和行为,但并不局限于此。也就是说,子类可以添加新的变量和方法,有自己的特点。子类还可以覆盖(override)继承下来的方法,实现特殊要求。 继承(inheritance)不但可以发生在同一个层次上,也可以发生在不同层次上。这种继承形成了一棵倒置的树,从根部开始发芽分支,长成一棵继承树。在Java系统中这棵树的根就是Object类,所有层次的类都是从Object类那里直接或间接地衍生下来的。Object仅提供了所有的类在Java虚拟机上运行时所需要的基本状态和方法。一般来说,层次越高,类就越抽象,反之类就越具体。 继承使父类的代码得到重用,在继承父类提供的共同特性基础上添加新的代码,使编程不必一切都从头开始,提高了编程效率。 4.1.6 接口 接口(interface)可以看成是为两个不相关的实体提供交流途径的设备。在Java中,接口就是为两个不相关的类提供交流的设备。接口非常类似于协议(protocol,一种共同行为的约定),是一个包含方法定义和常量值的集合。 Java不支持多继承,子类只能有一个父类。有时需要使用其他类中的方法,但又无法直接继承,在这种情况下,可以使用接口技术。例如,Java的事件

文档评论(0)

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

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

1亿VIP精品文档

相关文档