第七章-面向对象PPT课件.ppt_第1页
第七章-面向对象PPT课件.ppt_第2页
第七章-面向对象PPT课件.ppt_第3页
第七章-面向对象PPT课件.ppt_第4页
第七章-面向对象PPT课件.ppt_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java语言基础第七章面向对象 2020 3 18 1 static关键字封装继承extends方法重写super关键字 上章内容 2020 3 18 2 多态向上转型向下转型抽象类abstract关键字接口 本章内容 2020 3 18 3 什么是多态多态顾名思义即为多种形态的意思Java中多态的含义发送消息给某个对象 让这个对象自行决定采用哪种行为响应这个消息子类对象的引用赋值给父类引用变量来实现动态的方法调用Java中形成多态的前提继承重写向上转型 多态的概念 2020 3 18 4 多态的应用 2020 3 18 5 动物园有这些动物 狗 兔子等 饲养员每天都会给这些动物喂食 狗喜欢吃骨头 而兔子喜欢吃胡萝卜 通过Java程序模拟饲养员喂食参考代码 案例 Animal java 案例 Food java 案例 Rabbit java Dog java 案例 Carrot java Bone java 多态的应用 2020 3 18 6 提高代码的可重用性降低模块之间的耦合度 多态的作用 2020 3 18 7 形状类Shape需要提供用于计算面积和周长的方法 但是形状本身没有被确定 那么计算周长和面积的方法就无法确定 此时我们就需要使用抽象类和抽象方法 由于Shape类计算周长和面积的方法无法确定 那么就可以将这样的方法声明为抽象的 以便在具体的子类中进行实现 抽象方法的声明 修饰符 abstract返回值类型方法名 参数列表 注意 因为抽象方法无法确定具体执行的功能 所有抽象方法没有方法体 需要在小括号后加上分号 抽象类和抽象方法 2020 3 18 8 抽象方法 2020 3 18 9 如果一个类的某些功能比较抽象或者无法在本类中具体实现 可以将这个类声明为抽象的 那么这些抽象或者无法具体实现的功能可以在子类中完成 抽象类的语法 修饰符 abstractclass类名 extends父类名 类体 抽象类和普通类除了使用abstract修饰外和普通的类相似抽象类中可以没有抽象方法但是一旦某个有抽象方法 那么这个类必须被声明为抽象类 抽象类 2020 3 18 10 抽象类 2020 3 18 11 因为抽象类不是一个具体的类 所以无法实例化 但是抽象类可以用于声明对象 抽象类 2020 3 18 12 抽象类可以被继承 在子类中实现抽象类的所有抽象方法 以达到抽象类的具体化 抽象类 2020 3 18 13 具体化后的子类方法就可以用来创建对象了 抽象类 2020 3 18 14 在软件工程中 经常将一个大的项目分由不同的开发小组共同开发 各个小组的开发工作是并行的 在很多时候 对于不同小组的程序员来说 清楚地说明各自的软件如何相互作用 并就此达成统一 约定 是很重要的 这种情况下 每一小组都可以在对其他小组怎么编写代码一无所知的情况下 就能编写自己的代码 并且各自小组编写的代码能很好的协同工作 接口就是这样的 约定 接口 2020 3 18 15 在Java中接口不仅仅是程序开发过程中 约定 更是更加抽象化的抽象类接口的定义 修饰符 interface接口名 常量 抽象方法 接口的定义 2020 3 18 16 接口的实现定义类时通过implements关键字实现接口接口实现的语法 修饰符 class类名 extends父类名 implements接口1 接口2 类体部分 接口的实现 2020 3 18 17 一个类可以实现多个接口 从而解决了Java单继承的缺点 接口的实现 2020 3 18 18 在Java中类之间的继承关系是单继承 也就是说一个类有且只能有一个父类 而Java中的接口实现了多继承 也就是说一个接口可以有多个父接口 接口的继承 2020 3 18 19 提高程序的重用性提高程序的可扩展性降低程序的耦合度实现了多继承 接口的作用 2020 3 18 20 实现多继承 接口的作用 2020 3 18 21 实现了多继承 接口的作用 2020 3 18 22 降低程序耦合度 接口的作用 2020 3 18 23 降低耦合度 接口的作用 2020 3 18 24 多态抽象类abstract关键字final关键字接口interface关键字implements关键字 本章总结 2020 3 18 25 作业一设计一个台灯类Lamp其中台灯有灯泡这个属性 还有开灯 on 这个方法 设计一个灯泡类其中有红灯泡 RedBuble 和绿灯泡 GreenBuble 他们都有一个发亮的方法 请设计出一段代码可以使台灯开启灯泡发亮 并且保证替换不同种类的灯泡台灯类代码不被修改 作业二 设计一个继承关系其中存在动物类Animal 狗类Dog和猫类Cat 对于猫类和狗类都有一个吃eat方法 但是猫和狗的吃eat方法的实现不同 请合理的设计出AnimalDogCat这3个类关系 作业 2020 3 18 26 作业三 设计一个形状类 接口 Shape 方法 求周长和求面积形状类 接口 的子类 实现类 Rect 矩形 Circle 圆形 Rect类的子类 Square 正方形 不同的子类会有不同的计算周长和面积的方法创建三个不同的形状对象 放在Shape类型的数组里 分别打印出每个对象的周长和面积 作业 2020 3 18 27 作业四 某公司的雇员分为以下若干类 Employee 这是所有员工总的父类 属性 员工的姓名 员工的生日月份 方法 getSalary intmonth 根据参数月份来确定工资 如果该月员工过生日 则公司会额外奖励100元 SalariedEmployee Employee的子类 拿固定工资的员工 属性 月薪HourlyEmployee Employee的子类 按小时拿工资的员工 每月工作超出160小时的部分按照1 5倍工资发放 属性 每小时的工资 每月工作的小时数SalesEmployee Employee的子类 销售人员 工资由月销售额和提成率决定 属性 月销售额 提成率BasePlusSalesEmployee SalesEmplo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论