收藏 分销(赏)

面向对象的概念和 Java 实现-2.ppt

上传人:fir****x8 文档编号:29679 上传时间:2020-11-23 格式:PPT 页数:32 大小:915.50KB
下载 相关 举报
面向对象的概念和 Java 实现-2.ppt_第1页
第1页 / 共32页
面向对象的概念和 Java 实现-2.ppt_第2页
第2页 / 共32页
面向对象的概念和 Java 实现-2.ppt_第3页
第3页 / 共32页
面向对象的概念和 Java 实现-2.ppt_第4页
第4页 / 共32页
面向对象的概念和 Java 实现-2.ppt_第5页
第5页 / 共32页
点击查看更多>>
资源描述

1、,面向对象的概念和Java实现-2,2,回顾,类是具有相同属性和行为的一组对象的集合,对象是类的实例封装是隐藏对象实现细节的过程,以便不让用户看到实现的细节类可用Class来定义,类的变量和方法可被该类的实例访问,圆点符号用于访问对象的成员,构造函数在创建对象时初始化对象包可用package来申明,可用import来导入包,3,目标,理解继承及其特点运用JAVA程序实现继承理解多态及其特点设计运用JAVA程序实现多态掌握访问修饰符和方法修饰符,4,继承,父类,子类,5,继承的特点,6,继承的优点,7,继承的JAVA实现,演示:示例1,编写一个父类使用extends关键字,编写子类,classC

2、arextendsVehicles/*构造方法.*/Car()/*显示子类Car的信息.*/voidshow()System.out.println(“从子类Car中输出的信息);System.out.println(“交通工具的名称-+name);System.out.println(“交通工具的颜色-+color);System.out.println(“座位的数量-+seats);System.out.println(=);,classVehicles/*存储交通工具的名称.*/protectedStringname=HondaCivic;/*存储颜色信息.*/protectedStri

3、ngcolor=Red;/*存储座位信息.*/protectedintseats=5;/*构造方法.*/Vehicles()/*显示父类汽车的详细信息*/voidshowDetail()System.out.println(从父类Vehicles中输出的信息);System.out.println(名称-+name);System.out.println(颜色-+color);,publicclassCarTest/*构造方法*/CarTest()/*这是main方法*paramargs传递至main方法的参数*/publicstaticvoidmain(Stringargs)/*声明一个对象

4、*/Carvehicle=newCar();vehicle.show();vehicle.showDetail();,8,子类构造方法2-1,要调用父类构造方法,使用关键字super,9,子类构造方法2-2,调用父类构造方法的语法为:super()或super(参数列表);super()方法始终指向调用类的父类,10,调用父类构造方法,演示:示例3,关键字super的用法,classFictionAuthorextendsAuthor/*存储作者的小说类型.*/Stringstorytype;/*子类构造方法.paramname传递至构造方法的参数paramtype传递至构造方法的参数*/Fi

5、ctionAuthor(Stringname,Stringtype)super(name);storytype=type;System.out.println(“从FictionAuthor类输出);System.out.println(“小说类型为+storytype);,调用父类构造方法,Author(Stringstr)name=str;System.out.println(“从Author类输出);System.out.println(“姓名为+name);,11,多态性2-1,多态性是指“多种形式”它使用不同的实例而执行不同操作多态包括方法重写和方法重载,12,多态性2-2,父类,子

6、类-绘制和移动三角形,子类-绘制和移动矩形,子类-绘制和移动五边形,13,方法重载2-1,方法重载,类中有多个具有相同名称的方法,14,方法重载2-2,演示:示例4,publicclassDisplayNumber/*无参数可显示/voiddisplay()System.out.println(无参数可显示!);/*paramnum传递至display方法的参数*paramnum1传递至display方法的参数*/voiddisplay(intnum,intnum1)System.out.println(两个整数是:+num+num1);/*param型的count由display方法接收*/

7、voiddisplay(doublecount)System.out.println(在display(double)方法内:+count),publicstaticvoidmain(Stringarg)intcount=25;DisplayNumberdispObj=newDisplayNumber();dispObj.display();dispObj.display(10,20);/*不存在具有一个int型参数的方法,*int型值自动转化为double型值*/System.out.println(“调用display(double)方法,+“使用int变量:+count);dispObj

8、.display(count);dispObj.display(25.5);,15,方法重写2-1,16,方法重写2-2,父类和子类中具有相同名称和类型的方法,publicstaticvoidmain(Stringarg)RectanglerectObj=newRectangle(10,15);rectObj.getPerimeter();RectanglesqObj=newSquare(15);sqObj.getPerimeter();,调用父类方法,调用子类方法,classSquareextendsRectangleSquare(intlen)length=len;/*计算周长.*/voi

9、dgetPerimeter()System.out.println(“正方形的周长为+(4*length);,classRectangleintlength;intwidth;Rectangle(intlen,intwid)length=len;width=wid;/*计算矩形的周长.*/voidgetPerimeter()System.out.println(“矩形的周长为+(2*(length+width);,17,访问修饰符3-1,信息隐藏是OOP最重要的功能之一,也是使用访问修饰符的原因信息隐藏的原因包括:对任何实现细节所作的更改不会影响使用该类的代码防止用户意外删除数据此类易于使用,

10、访问修饰符,18,访问修饰符3-2,19,访问修饰符3-3,访问修饰符可访问性,20,方法修饰符,21,static修饰符3-1,static修饰符修饰的方法叫静态方法目的使该方法独立于类的实例,使用类去访问,而不是类实例,所以也叫类方法,22,static修饰符3-2,调用静态方法的语法为:classname.methodname();,23,演示:示例6,publicstaticvoidmain(Stringarg)/*初始化变量*/doubleinch=66;doublefeet=InchesToFeet.convert(inches);System.out.println(inch+“

11、英寸为”+feet+“英尺。);,使用类名称调用static方法,publicstaticdoubleconvert(doublein)return(in/inches);,static修饰符3-3,24,final修饰符,25,abstract修饰符3-1,由abstract修饰的方法叫抽象方法;由abstract修饰的类叫抽象类抽象方法必须声明在抽象类中抽象方法语法:abstracttypemethod_name(parameter_list);声明抽象类语法:abstractclass使用:父类中的某些抽象不包含任何逻辑,并需要在子类中重写,子类提供这种抽象方法的实现细节,26,abst

12、ract修饰符3-2,抽象类可以具有指向子类对象的对象引用,27,abstract修饰符3-3,演示:示例7,抽象方法不具有任何实现代码,abstractclassShape.protecteddoublelength;protecteddoublewidth;.abstractdoublearea();,classSquareextendsShape/*构造方法.*paramnum传递至构造方法的参数*paramnum1传递至构造方法的参数*/Square(finaldoublenum,finaldoublenum1)super(num,num1);/*计算正方形的面积.*returndou

13、ble*/doublearea()System.out.println(“正方形的面积为:);returnlength*width;,28,接口,接口就是某个事物对外提供的一些功能的申明可以利用接口实现多态,同时接口也弥补了Java单一继承的弱点使用interface关键字定义接口一般使用接口声明方法或常量,接口中的方法只能是声明,不能是具体的实现,29,创建接口的步骤2-1,/定义方法的接口publicinterfacemyinterfacepublicvoidadd(intx,inty);publicvoidvolume(intx,inty,intz);/定义程序使用的常量的接口publi

14、cinterfacemyconstantspublicstaticfinaldoubleprice=1450.00;publicstaticfinalintcounter=5;,定义一个接口:,30,创建接口的步骤2-2,编译如下:javacmyinterface.java用关键字implements实现接口,例如:classdemoimplementsmyinterface如果有一个以上接口被实现,则用逗号隔开接口名称,如下所示:classdemoimplementsMycalc,Mycount,31,接口使用示例,publicinterfaceGForcedoubleg=9.8;voids

15、how();,publicclassInterfaceTestpublicstaticvoidmain(Stringargs)GForcegForce=newEarth();gForce.show();,publicclassEarthimplementsGForcepublicvoidshow()System.out.println(“g=“+g);,32,总结,封装、继承和多态是面向对象的主要特征继承可提高代码的重用性,使用extends关键字来实现。除了构造方法之外,父类的所有方法和属性都被子类的对象继承多态性是不同的实例对象以不同的方式对相同的信息作出不同的表现访问修饰符用于确定访问类成员的方式Java常用修饰符有static、final、abstract接口是Java编程一项重要的技术,同过它可以实现多态,同时它也弥补了Java单一继承的不足,

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 应用文书 > PPT模板

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服