定义: 指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)
作用:消除类型之间的耦合关系;
存在的必要条件:
- 要有继承
- 要有重写
- 父类引用指向子类对象
理解:父类对象指向其子类对象即父类对象就是子类对象的上转型;
如下代码是实现接口的多态,还有抽象 重载 重构等;个人感觉主要是上转型的理解.
public class TestMyShap {
public static void main(String []args){
shap S;
square s=new square(5);
S=s;
System.out.println(S.area());
rectangle r=new rectangle (5,6,6);
S=r;
System.out.println(S.area());
}
}
interface shap{
public double area();
}//定义接口
class square implements shap{
double l;
public square(double l) {
super();
this.l = l;
}
@Override
public double area() {
// TODO Auto-generated method stub
double area=l*l;
return area;
}
}
class rectangle implements shap{
double l;
double h;
double w;
public rectangle(double l, double w, double h) {
super();
this.l = l;
this.h = h;
this.w = w;
}
@Override
public double area() {
// TODO Auto-generated method stub
double area=l*w;
return area;
}
}
本文通过实例演示了多态的概念及应用,展示了如何利用接口实现多态性,并提供了square和rectangle两个类的具体实现。介绍了多态性的核心在于消除类型间的耦合关系。
907

被折叠的 条评论
为什么被折叠?



