文档详情

《Java程序设计案例教程(微课版)(第2版)》 课件 项目6 垃圾分类程序——面向对象高级.pptx

发布:2025-04-13约3.28千字共43页下载文档
文本预览下载声明

项目6面向对象高级

——垃圾分类程序;;;目录

CONTENTS;6.1抽象类;6.1抽象类;【例6-1】实现抽象类中的抽象方法。;目录

CONTENTS;6.2.1接口的概念;6.2.2接口的定义与实现;6.2.2接口的定义与实现;【例6-2】接口的实现。;【例6-3】接口之间的继承。;6.2.2接口的定义与实现;任务实践6-1组装一台计算机;任务实践6-2USB接口的实现;目录

CONTENTS;目录

CONTENTS;多态性是面向对象的又一个重要特征。它是指在父类中定义的属性和方法被子类继承之后,可以具有不同的数据类型或表现出不同的行为,这使得同一个属性或方法在父类及其各个子类中具有不同的含义。

对面向对象来说,多态分为编译时多态和运行时多态。其中编译时多态是静态的,主要通过方法的重载来实现,可根据参数列表的不同来区分调用不同的方法,编译之后就可以区分。而运行时多态是动态的,通过动态绑定来实现,也就是通常所说的多态性。;静态多态也叫编译时多态,是由方法的重载来实现的。

Java允许在同一个类中定义多个同名方法,只要它们的形参列表不同即可。形参列表不同,包括参数的类型不同、参数的个数不同或者参数的顺序不同。如果同一个类中包含两个或两个以上方法名相同、但形参列表不同的方法,则称为方法重载(overload)。;publicclassExample5_13{

publicstaticvoidmain(String[]args){

intsum1=add(1,2);

intsum2=add(1,2,3);

doublesum3=add(1.2,2.3);

System.out.println(sum1=+sum1);

System.out.println(sum2=+sum2);

System.out.println(sum3=+sum3);

}

publicstaticintadd(intx,inty){

returnx+y;

}

publicstaticintadd(intx,inty,intz){

returnx+y+z;

}

publicstaticdoubleadd(doublex,doubley){

returnx+y;

}

};Java实现动态多态有3个必要条件:继承、重写和向上转型。只有满足这3个条件,开发人员才能够在同一个继承结构中使用统一的逻辑来处理不同的对象,从而执行不同的行为。

向上转型指的是将子类对象赋给父类引用,或者可理解为将子类类型转为父类类型,即可以理解为下面的赋值操作。

父类对象名=new子类对象();classPet{

voideat(){

System.out.println(宠物吃东西);

}

}

classCatextendsPet{

voideat(){

System.out.println(猫吃鱼);

}

}

classDogextendsPet{

voideat(){

System.out.println(狗吃骨头);

}

}

publicclassExample5_14{

publicstaticvoidmain(String[]args){

Petp1=newCat();

Petp2=newDog();

p1.eat();

p2.eat();

}

};classPet{

voideat(){

System.out.println(宠物吃东西);

}

}

classDogextendsPet{

voideat(){

System.out.println(狗吃骨头);

}

publicvoidprotectHome(){

System.out.println(狗看家……);

}

}

publicclassExample5_15{

publicstaticvoidm

显示全部
相似文档