(一)类的多态性练习

1. 理解类的多态性

类的继承发生在多个类之间,而类的多态只发生在同一个类上。在一个类中,可以定义多个同名的方法,只要确定它们的参数个数和类型不同。这种现象称为类的多态。

多态使程序简洁,为程序员带来很大便利。在OOP 中,当程序要实现多个相近的功能时,就给相应的方法起一个共同的名字,用不同的参数代表不同的功能。这样,在使用方法时不论传递什么参数,只要能被程序识别就可以得到确定的结果。

类的多态性体现在方法的重载(overload)上,包括成员方法和构造方法的重载。

2. 方法的重载

方法的重载是指对同名方法的不同使用方式。

1) 程序功能:对不同的数进行排序输出。在IntSort 类中定义2 个同名的方法sort。

2) 编写KY5_1.java 文件,源代码如下。

class IntSort {

public String sort (int a, int b) { 

if (a>b)

return a+" "+b;

else

return b+" "+a;

}

public String sort (int a, int b, int c) {   

int swap;

if (a<b) {

swap=a;

a=b;

b=swap;

}

if (a<c) {

swap=a;

a=c;

c=swap;

} 

if (b<c) {

swap=b; 

b=c;

c=swap;

}

return a+" "+b+" "+c;

}

}



public class KY5_1 {

public static void main(String args[])  

         {

int a=30, b=12, c=40;

IntSort s=new IntSort();

System.out.println("两个数的排序结果:"+s.sort(a,b));

System.out.println("三个数的排序结果:"+s.sort(a,b,c));

}

}

3) 编译KY5_1.java并运行程序

4) 将程序的输出结果记录在实验报告中。

结果如下:

5) 请在实验报告中说明在IntSort 类中出现的下面两个同名的方法各自的功能?

I. public String sort (int a, int b)  

答:比较a、b参数,由大到小排序 然后输出排序结果

II. public String sort (int a, int b, int c)

答:比较a、b、c参数,由大到小排序 然后输出排序结果

6) 请在实验报告中指出程序中是哪条语句调用了方法I,哪条语句调用了方法II?

答:System.out.println("两个数的排序结果:"+s.sort(a,b))调用了方法一;

System.out.println("三个数的排序结果:"+s.sort(a,b,c))调用了方法二;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值