什么是多态
发布网友
发布时间:2022-04-21 21:10
我来回答
共3个回答
懂视网
时间:2022-04-22 01:32
多态的表现形式有:
1、方法重载:通常是指在同一个类中,相同的方法名对应着不同的方法实现,这些方法名相同的方法其区别在于他们需要的参数不同;
2、方法重写:方法重写主要用于父类和子类间,子类重写父类的方法,只是对应的方法实现不同,其方法名和参数都相同;
3、抽象类:在java语言中,一个类中的方法只给出了标准,而没有给出具体的实现方法,这样的类就是抽象类。例如父类就是抽象类,它不会被实例化的类;
4、接口: 在多态机制中,接口比抽象类使用起来更加方便。而抽象类组成的集合就是接口。
热心网友
时间:2022-04-21 22:40
相同的方法不同的实现,体现出多态,通俗理解为:“多种状态”,一龙生九子,九子不同
多态分为三种:
1: 方法多态
2: 类多态
3:接口多态
重写:是覆盖
重载:是方法名字相同,参数列表不同,参数 类型不同
接口是算多态的
举例吧:
Jbutton.addActionListener(new ActionListener(){
public void actionPerformed(){
................
}
});
这就是属于 接口多态,实现
方法多态:
有点类似于重载
类多态:
就继承关系
热心网友
时间:2022-04-21 23:58
多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
多态有两种表现形式:重载和覆盖
首先说重载(overload),是发生在同一类中。与什么父类子类、继承毫无关系。
标识一个函数除了函数名外,还有函数的参数(个数和类型)。也就是说,一个类中可以有两个或更多的函数,叫同一个名字而他们的参数不同。
他们之间毫无关系,是不同的函数,只是可能他们的功能类似,所以才命名一样,增加可读性,仅此而已!
再说覆盖(override),是发生在子类中!也就是说必须有继承的情况下才有覆盖发生。
我们知道继承一个类,也就有了父类了全部方法,如果你感到哪个方法不爽,功能要变,那就把那个函数在子类中重新实现一遍。
这样再调用这个方法的时候,就是执行子类中的过程了。父类中的函数就被覆盖了。(当然,覆盖的时候函数名和参数要和父类中完全一样,不然你的方法对父类中的方法就不起任何作用,因为两者是两个函数,毫不关系)