第四章 Java中的面向对象编程.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文档。上传文档
查看更多
第四章 Java中的面向对象编程

第四章 Java中的面向对象编程 Java 的面向对象技术 为什么要用面向对象技术? 什么是面向对象程序设计(OOP)? Java如何实现OOP? 为什么用OOP 传统的面向过程编程方法已经穷途末路 众多的变量、函数名令程序员不堪重负 读懂他人的程序简直不可能 将各个程序员的代码联接起来非常困难 程序流程是“一碗面条”式的,难以理解,容易出错 程序各部分相互影响,难以Debug 为什么用OOP 什么是面向过程? 以C为代表的语言,是对汇编的扩展 对问题的抽象基础 要解决的问题的结构 计算机的结构 解空间与问题空间 为什么用OOP 对象-业界的主流,高效率的基石 “如果说我比别人看得更远,那只是因为我站在巨人的肩膀上” -- Sir Isaac Newton 程序越来越复杂,使程序设计不再是个人英雄主义的产物,相互协作变得空前重要。 OOP使您能够方便地利用他人的程序,大大提 高生产力。 什么是OOP? 对象:一个由相关属性与方法组成的软件包 面向过程的方法:数据+操作 状态+行为 属性+方法 把问题看成相互作用的事物的集合 把事物分为属性与方法 把属性和方法集合在类中 现实世界的对象 台灯 状态 颜色(红、白、蓝) 类型(白炽、日光、高频) 亮度(流明) 行为 开 关 变亮 变暗 OOP中的对象 class Light 属性 color type brightness 方法 open() close() brightenLight() darkleLight() OOP眼中的交通模型 traffic 由各种汽车组成 traffic的属性: 汽车数量 carNumber 各种汽车的集合 cars[] traffic的方法: 红灯 redLight() 绿灯 greenLight() 限速 speedLimit() 汽车的属性: 颜色 color 速度 speed 方向 direction 种类 type 汽车的方法: 加速 speedup() 转弯 turn() 刹车 brake() 对象与类 相关对象的集合称为类(Class) 类是对象的抽象及描述 具有统一属性和方法 多个对象的统一描述体 定义一组对象共有属性和方法的模板 动——静 OOP的三大技术 封装 将属性和方法(对数据的操作)捆绑在一起,成为类 使程序结构易于管理 实现了信息的隐藏与安全性 继承 从类中(称为父类)派生出新类(称为子类)并保留父类中的所有变量和方法以及创建自己的变量和方法 提高工作效率,减少无用功 多态 使同一个名字的方法可以具有不同的行为 更加的自然,提高了程序的可读性 Java 的 OOP 能力 完全的OOP能力 与C++相比,多了些什么,少了些什么? 与OOP有关的Java关键字(一) 具有封装能力的关键字: class --类,提供基本的属性与方法的封装 interface --界面,提供多重继承能力 package --包,有效管理类名空间 限定存取权限的关键字: private --私有的 public --公有的 protected --保护的 与OOP有关的Java关键字(二) 与存储方式有关的修饰字: static--静态的 与继承有关的关键字: extend --派生新类 implement --实现接口 final--子类不可重载 abstract--子类必需重载 super 和 this --指代父类和本类 如何定义类(一) Java中类定义的一般格式: 如何定义类(二) 一个简单的例子--point类 Point的说明 类名:Point,第一个字母大写 成员变量:int x,y; 构造方法: 两个构造器 Point()的特殊性 有则没有 没有则有 成员方法:void moveto(){} this:代码复用 如何定义类 (三) 给C++程序员的几点说明: Java中的源文件名必须根据其中的类名来定义,如Point类的定义必须放在Point.java中,且大小写必须相同。 Java中的类定义与实现是放在一起保存的,整个类必须在一个文件中。因此有时源文件会很大。 如果一个文件中有多个类,则有且仅有一个类以public修饰,且文件名与该类相同。 若没有指明从哪个类继承而来,则从缺省的父类Object继承而来。 注意,Java的类定义class{}的最后没有‘ ;’ 如何使用类——对象引用 声明一个对point对象的引用-- 格式:类名 变量名; 例如:Point p; 说明: 1、未初始化时,其初值为 null。 2、对对象的引用中实际存放的是对象的地址,或更严格的说,是对象的句柄。 3、因此,用对象作为函数参数时,传递的是对象引用。在函数中改变对象的状态会影响到函数外 4、基本类型的变量

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档