欢迎来到天天文库
浏览记录
ID:40133292
大小:1.01 MB
页数:20页
时间:2019-07-22
《博学实训软件工程java面向对象第3章-抽象类和接口x》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、国家信息化人才培养工程(深圳博学)授权实训基地第三章抽象类和接口预习检查定义抽象类和抽象方法的关键字是什么?定义接口的语法是什么?抽象类和接口的相同点和不同点分别是什么?提问本章任务模拟实现“愤怒的小鸟”游戏抽象类的定义和使用理解接口概念理解面向对象设计原则理解抽象类和接口的优势本章目标接口的定义和使用点重理解抽象类概念点难点重讲解:为什么使用抽象方法和抽象类交通工具公交车类方法:行驶(公路驾驶)地铁类方法:行驶(地下轨道)自行车类方法:行驶(人力蹬)实现父类行驶方法有意义吗?每个子类有独特的行驶方法交通工具类(抽象类)交通工具类方法:行驶抽象方法:行驶串讲:对比普通方
2、法和抽象方法对比普通方法与抽象方法publicvoidshow(){System.out.println("hello");}publicabstractvoidshow();区别普通方法必须要有方法体,抽象方法不能有方法体(大括号也没有)抽象方法要用abstract修饰抽象方法必须存在于抽象类中串讲:对比普通类和抽象类对比普通类与抽象类publicclassPerson{}Personp=newPerson();publicabstractclassPerson{}Personp=newPerson();区别抽象类要用abstract修饰普通类可以实例化,抽象类不能实
3、例化简单的说,抽象类是一个不能实例化的类,它可以具有抽象方法或者普通方法串讲:抽象类的应用需求描述模拟“愤怒的小鸟”游戏中各种鸟的行为问题抽象类鸟飞行:弹射-飞叫:嗷---!(抽象方法)攻击分裂鸟攻击:分裂攻击火箭鸟攻击:加速冲撞分析使用抽象类定义鸟类飞行和叫为抽象类的普通方法攻击为抽象类的抽象方法在子类中实现攻击方法演示示例:抽象类的应用串讲:抽象类的优势抽象类可以将已经实现的方法提供给其子类使用,使代码可以被复用抽象类中的抽象方法在子类中重写,保证了子类还具有自身的独特性例如:鸟的飞行和叫的方法,不需在子类重复实现例如:每个鸟都有自己独特的攻击行为通过抽象类指向其子
4、类的对象,可以实现多态判断对错抽象类中只能定义抽象方法。声明抽象类和抽象方法都使用abstract关键字。抽象类不能实例化。小结提问串讲:理解接口生活中的接口是指某些企业和组织等制定的一种约定或标准(USB)串讲:理解接口Java中的接口提供一种约定,使得实现接口的类在形式上保持一致publicinterface接口名{//抽象方法}语法定义和实现接口public类名implements接口{//实现接口的方法//普通方法}演示示例:使用接口描述USB一个类实现一个接口,则要求实现接口中的所有方法注意串讲:对比抽象类和接口对比抽象类与接口publicabstractcl
5、assPerson{//抽象方法//普通方法}publicinterfacePerson{//抽象方法}区别抽象类使用abstract声明,接口使用interface声明抽象类可以包含抽象方法(必须使用abstract关键字)和普通方法接口只能包含抽象方法(无须使用abstract关键字)接口和抽象类一样,不能实例化抽象类与接口有什么区别?提问讲解:认识抽象类的局限性实现“愤怒的小鸟”游戏中鸟叫的行为抽象类鸟飞行:弹射-飞叫:嗷---!攻击(抽象方法)分裂鸟攻击:分裂攻击火箭鸟攻击:加速冲撞红色鸟攻击:普通攻击叫:喳喳炸弹鸟攻击:爆炸攻击叫:喳喳胖子鸟攻击:扔蛋攻击叫:
6、不叫代码冗余,复用度差讲解:使用接口优化程序设计将鸟叫的行为定义为接口实现接口实现各种具体的叫声将鸟叫行为作为抽象鸟类的一个属性如何用接口实现鸟叫的行为,能有效避免代码冗余,又能保证扩展性?问题分析演示示例:使用接口优化程序设计串讲:实现多个接口一个类只能继承一个父类,但能同时实现多个接口,也可以同时继承抽象类和实现接口class类名extends父类名implements接口1,接口2,……{//类的成员}语法extends必须位于implements之前一个类实现多个接口,要求实现多个接口中的方法串讲:实现多个接口示例某人是软件工程师,又是音乐家。如何在Java程序
7、中实现?分析定义人类作为抽象父类,包含人的基本属性和行为定义编程接口,拥有编程能力定义作曲接口,拥有作曲能力等定义一个子类,继承人类,同时实现编程接口和作曲接口演示示例:实现多个接口串讲:面向对象的设计原则面向对象的设计原则摘取出代码中变化的行为,形成接口多用组合,少用继承针对接口编程,不依赖于具体实现针对扩展开放,针对改变关闭先记忆,再应用,在应用中理解答疑时间同学们请就以下方面的问题请教老师《阶段练习——汽车租赁》项目(教员备课时自行填写)总结抽象方法和普通方法有什么区别?抽象类和普通类有什么区别?使用抽象类的优势是什么?实现多个接口
此文档下载收益归作者所有