Java面向对象程序设计与系统开发第3章-面向对象设计思想.ppt

上传人(卖家):三亚风情 文档编号:3372429 上传时间:2022-08-24 格式:PPT 页数:20 大小:1.30MB
下载 相关 举报
Java面向对象程序设计与系统开发第3章-面向对象设计思想.ppt_第1页
第1页 / 共20页
Java面向对象程序设计与系统开发第3章-面向对象设计思想.ppt_第2页
第2页 / 共20页
Java面向对象程序设计与系统开发第3章-面向对象设计思想.ppt_第3页
第3页 / 共20页
Java面向对象程序设计与系统开发第3章-面向对象设计思想.ppt_第4页
第4页 / 共20页
Java面向对象程序设计与系统开发第3章-面向对象设计思想.ppt_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、面向对象程序设计面向对象程序设计与系统开发与系统开发第3章 面向对象设计思想 2驱动任务一驱动任务一 创建一个抽象类Animal,它包含一个abstract的sound()方法;派生一个子类Dog,实现父类抽象方法sound();创建子类Dog对象,然后调用它的sound()方法。3目标及知识点目标及知识点定义和使用抽象类定义和使用抽象类2final关关键键字的使用字的使用3抽象类的概念抽象类的概念1 14抽象类抽象类 如果一个类中没有包含足够的信息来描绘一个具如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类体的对象,这样的类就是抽象类 定义一个抽象类的格式如下 abst

2、ract class AbstractClassNamepublic abstract class Shapepublic abstract double area();/抽象方法抽象方法public abstract double volume();/抽象方法抽象方法 当一个类被定义成当一个类被定义成abstract类时,表示一个抽象的概念,它不能用类时,表示一个抽象的概念,它不能用new关键字关键字实例化对象,例如上面定义的实例化对象,例如上面定义的Shape类就是一个抽象类,只有被继承并在子类类就是一个抽象类,只有被继承并在子类中重写其抽象方法,它才有意义。中重写其抽象方法,它才有意义。

3、5【例【例3-1】v 定义一个代表形状的抽象类,并派生出圆柱体类和长方体类,计算底面半径为2高为3的圆柱体体积和长、宽、高分别为3、2、4的长方体体积。/定定义义一个形状抽象一个形状抽象类类abstract class Shapedouble radius,length,width,height;abstract double vol();/求体求体积积的抽象方法的抽象方法Shape(double r,double h)/对半径和高进行初始化的构造方法对半径和高进行初始化的构造方法radius=r;height=h;Shape(double l,double w,double h)/对长宽高进

4、行初始化的构造方法对长宽高进行初始化的构造方法length=l;width=w;height=h;/*圆圆柱体柱体类类*/class Circle extends ShapeCircle(double r,double h)super(r,h);double vol()/重写父重写父类类抽象方法抽象方法return(3.1416*radius*radius*height);/*长长方体方体类类*/class Rectangle extends ShapeRectangle(double l,double w,double h)super(l,w,h);double vol()/重写父重写父类类

5、抽象方法抽象方法return(length*width*height);/*主主类类*/public class AbstractClassDemo public static void main(String args)Circle c=new Circle(2,3);Rectangle r=new Rectangle(3,2,4);System.out.println(圆圆柱体体柱体体积积=+c.vol();System.out.println(长长方体体方体体积积=+r.vol();结结果:果:圆柱体体积圆柱体体积37.6992长方体体积长方体体积24.0【思考】【思考】abstract

6、修修饰饰的的类类一定有一定有abstract修修饰饰的方法的方法吗吗?Java面向对象软件开发6最终类-final类 有一种类是不能派生出子类的,我们叫这种类为最有一种类是不能派生出子类的,我们叫这种类为最终类。即我们用终类。即我们用final来修饰的类。来修饰的类。public final class Test1 Java面向对象软件开发7最终类-final类 如果一个类不允许其子类覆盖某个方法,则可以把这个如果一个类不允许其子类覆盖某个方法,则可以把这个方法声明为方法声明为final方法方法 public final void f2()System.out.println(f2);Java

7、面向对象软件开发8【例【例3-2】使用使用final方法的例子方法的例子class Test1 public void f1()System.out.println(f1);/无法被子无法被子类类覆盖的方法覆盖的方法public final void f2()System.out.println(f2);public class Test2 extends Test1public void f1()System.out.println(Test1父父类类方法方法f1被覆盖被覆盖!);public static void main(String args)Test2 t=new Test2();

8、t.f1();t.f2();/调调用从父用从父类继类继承承过过来的来的final方法方法结结果:果:Test1父父类类方法方法f1被覆盖被覆盖!f29任务实现任务实现123分析类及关系分析类及关系 定义抽象类定义抽象类Animal Dog类类利用构造方法利用构造方法为为type属性属性赋值赋值 45Dog类实现类实现Animal的的sound()main方法方法进进行行测试测试 10驱动任务二驱动任务二 有一个接口AddImp规定了有求和的方法sum();另外一个SubImp接口规定了有减法运算的方法subtract();再声明一个接口Calculatable继承于以上两个接口。创建Calcu

9、lator类实现接口Calculatable,并生成对象测试该对象的加减功能。11目标及知识点目标及知识点接口的实现接口的实现 2接口的继承接口的继承 3多接口多接口4接口的定义接口的定义1 112接口的定义接口的定义在Java语言中,用关键字interface来定义接口。接口与类有相似的结构,其定义格式如下:修修饰饰符符 interface 接口名接口名 extends父接口名父接口名/接口体接口体 13接口的定义接口的定义例例3-3Interface ObjectArea double PI=3.14;double area(double r);注意:注意:接口和普通类不一样的是它的方法默

10、认是抽象和公共的,接口和普通类不一样的是它的方法默认是抽象和公共的,属性默认是常量,静态的和公共的属性默认是常量,静态的和公共的14接口的实现接口的实现 若一个类想统一在某个接口的规范下,想具有这个接口的”身份”,就需要实现这个接口。格式如下:Class 类类名名 implements 接口名接口名接口的实现接口的实现15例例3-4class Circle implements ObjectAreapublic double area(double r)/重写重写return PI*r*r;注意:注意:若实现接口的类不是抽象类,则该类必须实现指定接口的若实现接口的类不是抽象类,则该类必须实现指

11、定接口的所有抽象方法。方法头部应该与接口中的定义完全一致,即所有抽象方法。方法头部应该与接口中的定义完全一致,即有完全相同的方法名、参数表和返回值。有完全相同的方法名、参数表和返回值。16接口继承接口继承 接口也可以通过关键字extends继承其他接口。子接口将继承父接口中所有的常量和抽象方法。Interface 接口名接口名 extends 接口名接口名 接口继承接口继承17例例3-5:interface AString a=接口接口A中常量中常量;void showA();interface B extends AString b=接口接口B中常量中常量;void showB();inte

12、rface C extends BString c=接口接口C中常量中常量;void showC();class InterfaceABC implements Cpublic void showA()/重写重写A接口中的方法接口中的方法System.out.println(a);public void showB()/重写重写B接口中的方法接口中的方法System.out.println(b);public void showC()/重写重写C接口中的方法接口中的方法System.out.println(c);实现多接口18一个一个类类可以同可以同时实现时实现多个接口,接口名之多个接口,接口

13、名之间间用逗号用逗号间间隔。隔。例例3-6:interface A void meth1();interface B void meth2();class MyClass implements A,B public void meth1()System.out.println(Implement meth1().);public void meth2()System.out.println(Implement meth2().);19任务实现任务实现123分析接口及类关系分析接口及类关系创建接口创建接口实现接口实现接口45创建对象创建对象调用对象中的方法完成具体功能调用对象中的方法完成具体功能20课堂总结课堂总结 v 抽象类的定义和继承v 接口的定义和实现

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(Java面向对象程序设计与系统开发第3章-面向对象设计思想.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|