sy05_1:类的多态性

类的多态性

1.   理解类的多态性

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

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

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

2.   方法的重载

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

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

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

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));
	}
}
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;
	}
}

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

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

            程序KY5_1的输出结果:

            两个数的排序结果:30 12

            三个数的排序结果:40 30 12

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

        I.    public String sort (int a, intb) 

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

答:两个同名方法具有不同的参数个数说明运用了方法重载功能,第一个方法是两个参数a、b两个数的降序排序而第二个方法是三个参数a、b、c三个数的降序排序。

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

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

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


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值