Java面向对象编程-继承与多态.ppt
《Java面向对象编程-继承与多态.ppt》由会员分享,可在线阅读,更多相关《Java面向对象编程-继承与多态.ppt(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、准备上课了!Java 面向对象高级编程讲师:李志成讲师:李志成继承承与与多多态目录目录Java 类类 对象对象 引用引用 回顾回顾1Java 继承继承2Java多态多态3类、对象与引用类、对象与引用v什么是类(什么是类(Class)?)?类是具有相同特性和行为的对象集合;是一种抽象,类是具有相同特性和行为的对象集合;是一种抽象,它把一类物体的特征抽象出来,通过适当的数据它把一类物体的特征抽象出来,通过适当的数据类型表示。类型表示。v什么是对象(什么是对象(Object)?)?与类相对而言,类是抽象,对象就是具体。例如:与类相对而言,类是抽象,对象就是具体。例如:人就是一个抽象类,而你、我、他就
2、是一个人就是一个抽象类,而你、我、他就是一个人人的对象。的对象。v什么是引用(什么是引用(reference)?)?对象的名字,用来操作对象。对象的名字,用来操作对象。同一对象可以有多个同一对象可以有多个应用吗?应用吗?为什么需要类?Class:n.班级;上课;等级 阶级;种类Object:n.物体;客体 对象;目的 目标目录目录Java 类类 对象对象 引用引用 回顾回顾1Java 继承继承2Java多态多态3面向面向对对象三大特性象三大特性封装:类就是封装,封装了属性与方法。它是一种思想,其核心就是“暴露出必要的暴露出必要的内容内容给外部用,而外部用,而对于内部于内部细节,使用者不用去关心
3、,使用者不用去关心”立即立即进入面向入面向对象的象的继承与承与多多态世界世界一切从汽一切从汽车车开始开始public class Car public int speed;/in变量,表示汽车沫磨public String name;/表示汽车名字public String color;/表示汽车颜色public void speedUp(int p_speed)if(p_speed 0)speed+=p_speed;public void slowDown(int p_speed)if(p_speed 0)int tempSpeed=speed-p_speed;if(tempSpeed=0)
4、speed=tempSpeed;系统升级:需要支持公交汽车。业务点:1.包含普通汽车所有属性与行为;2.增加“最大核载人数”、“当前旅客总数”属性;3.增加“上客”、“下客”行为1.增加一个新增加一个新类2.修改原来的修改原来的类(选用此方式)用此方式)解决修改原来的修改原来的Car类类public class Car /省略 public boolean isBus;/下面是专门为公共汽车增加的三个属性 public int max_Passenger=35;public int current_Passenger=0;/专门为公共汽车增加的方法,完成旅客上车的功能 public boole
5、an getOnBus(int p_amout)if(isBus)/省略 return false;/专门为公共汽车增加的方法,完成旅客下车的功能 public boolean getDownBus(int p_amout)if(isBus)/省略 return false;系统升级:需要支持跑车。业务点:1.包含普通汽车所有属性与行为;2.增加“氮气含量”属性;3.增加“使用氮气加速”行为1.增加一个新增加一个新类2.修改原来的修改原来的类解决到底有多少种类型的车需要支持?一一类车一个一个类一一类车类车 一个一个类类问题提出:1.一个类表示所有的汽车类型,需要穷举所有汽车的属性与方法;2.一
6、个类表示一个汽车类型,当需要修改的时候需要修改所有的类。继承承使用使用继继承承问题问题引刃而解引刃而解public class CarBase public int speed;public String name;public String color;public int maxSpeed=0;int tempSpeed=0;if(p_speed 0)tempSpeed=speed+p_speed;if(tempSpeed 0)int tempSpeed=speed-p_speed;if(tempSpeed=0)speed=tempSpeed;public class Bus extend
7、s CarBase public int max_Passenger=35;/只需包含Bus特有的属性 public int current_Passenger=0;/只需包含Bus特有的方法 public boolean getOnBus(int p_amout)if(isBus)/省略 return false;public class SportsCar extends CarBase public int nAmount=90;/保存氮气的剩余量 /使用氮气来让汽车加速的方法 public void speedUpUsingN(int p_amout)/省略 /增加氮气 public
8、void addN(int p_amout)/省略子类继承了父类的属性和方法继继承承v继承的承的语法格式:法格式:子类类名+extends+父类类名vJava在在创建一个子建一个子类的的对象的同象的同时,也,也创造了其造了其父父类的一个的一个对象象v子子类继承了父承了父类的属性与方法,但唯一没有直接的属性与方法,但唯一没有直接继承的是父承的是父类的构造方法的构造方法vJava中的中的单继承承v万万类之之组类所有类都继承自Object伪伪装装 与与 反反伪伪装装public class AutoConversion public static void main(String args)Spor
9、tsCar sportsCar=new SportsCar();/(1)创建了一个SportsCar类的对象 CarBase carBase=sportsCar;/(2)使用强制类型转换 carBase.speedUp(77);/(3)使用carBase调用speedUp方法 System.out.println(carBase.speed的值为:+carBase.speed);/(4)/输出speed属性的值 System.out.println(sportsCar.speed的值为:+sportsCar.speed);sportsCar.speedUpUsingN(77);/(5)使用sp
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 面向 对象 编程 继承
限制150内