Java面向对象编程-继承与多态

Java面向对象编程-继承与多态

ID:37011052

大小:2.74 MB

页数:20页

时间:2019-05-11

Java面向对象编程-继承与多态_第1页
Java面向对象编程-继承与多态_第2页
Java面向对象编程-继承与多态_第3页
Java面向对象编程-继承与多态_第4页
Java面向对象编程-继承与多态_第5页
资源描述:

《Java面向对象编程-继承与多态》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、准备上课了!www.whunf.com.cnJava面向对象高级编程讲师:李志成继承与多态目录www.whunf.com.cnJava类对象引用回顾1Java继承2Java多态3类、对象与引用什么是类(Class)?类是具有相同特性和行为的对象集合;是一种抽象,它把一类物体的特征抽象出来,通过适当的数据类型表示。什么是对象(Object)?与类相对而言,类是抽象,对象就是具体。例如:人就是一个抽象类,而你、我、他就是一个’人’的对象。什么是引用(reference)?对象的名字,用来操作对象。同一对象可以有多

2、个应用吗?www.whunf.com.cn为什么需要类?Class:n.班级;上课;等级阶级;种类Object:n.物体;客体对象;目的目标目录www.whunf.com.cnJava类对象引用回顾1Java继承2Java多态3面向对象三大特性2.继承3.多态1.封装www.whunf.com.cn封装:类就是封装,封装了属性与方法。它是一种思想,其核心就是“暴露出必要的内容给外部用,而对于内部细节,使用者不用去关心”立即进入面向对象的继承与多态世界一切从汽车开始www.whunf.com.cnpublicc

3、lassCar{publicintspeed;//in变量,表示汽车沫磨publicStringname;/表示汽车名字publicStringcolor;//表示汽车颜色publicvoidspeedUp(intp_speed){if(p_speed>0){speed+=p_speed;}}publicvoidslowDown(intp_speed){if(p_speed>0){inttempSpeed=speed-p_speed;if(tempSpeed>=0){speed=tempSpeed;}}}}系

4、统升级:需要支持公交汽车。业务点:1.包含普通汽车所有属性与行为;2.增加“最大核载人数”、“当前旅客总数”属性;3.增加“上客”、“下客”行为1.增加一个新类2.修改原来的类(选用此方式)解决修改原来的Car类www.whunf.com.cnpublicclassCar{//省略publicbooleanisBus;//下面是专门为公共汽车增加的三个属性publicintmax_Passenger=35;publicintcurrent_Passenger=0;//专门为公共汽车增加的方法,完成旅客上车的功

5、能publicbooleangetOnBus(intp_amout){if(isBus){//省略}returnfalse;}//专门为公共汽车增加的方法,完成旅客下车的功能publicbooleangetDownBus(intp_amout){if(isBus){//省略}returnfalse;}}系统升级:需要支持跑车。业务点:1.包含普通汽车所有属性与行为;2.增加“氮气含量”属性;3.增加“使用氮气加速”行为1.增加一个新类2.修改原来的类解决到底有多少种类型的车需要支持?一类车一个类一类车一个类不

6、管有多少车,就有多少类,再多也不怕,就是“累”点而已突然一天,要为所有的车添加相同属性和行为的时候,怎么办?这就不是类与累了,而是“泪”了。www.whunf.com.cn问题提出:1.一个类表示所有的汽车类型,需要穷举所有汽车的属性与方法;2.一个类表示一个汽车类型,当需要修改的时候需要修改所有的类。继承使用继承——问题引刃而解www.whunf.com.cnpublicclassCarBase{publicintspeed;publicStringname;publicStringcolor;public

7、intmaxSpeed=0;inttempSpeed=0;if(p_speed>0){tempSpeed=speed+p_speed;}if(tempSpeed<=maxSpeed){speed=tempSpeed;}}publicvoidslowDown(intp_speed){if(p_speed>0){inttempSpeed=speed-p_speed;if(tempSpeed>=0){speed=tempSpeed;}}}}publicclassBusextendsCarBasepublicintm

8、ax_Passenger=35;//只需包含Bus特有的属性publicintcurrent_Passenger=0;//只需包含Bus特有的方法publicbooleangetOnBus(intp_amout){if(isBus){//省略}returnfalse;}}publicclassSportsCarextendsCarBasepublicintnAmount=90;//保存氮气的剩余量/

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。