您的位置:首页 > 编程语言 > Java开发

JAVA 多态的一种实现

2014-07-20 19:16 155 查看
今天一个同事问我一个问题,就是关于子类,父类之间方法的调用这里的。这里我整理了一个小DEMO。

代码如下:

父类的代码:

public abstract class ClassA {

public final void execute()
{
System.out.println("A");
work();
}

protected  abstract  void work();

}


这里,我个人理解,这里的execute()方法,好像用了设计模式中的命令模式。

子类代码:

public class ClassB extends ClassA {
public void work()
{
System.out.println("B is working");
}
//方便期间,这里写了一个主方法
public static void main(String[] args) {
new ClassB().execute();
}
}


NEW了一个B类,执行EXECUTE方法,其实这个是执行从父类继承来的,所有子类这个方法都是一样的。在EXECUTE方法中,会调用WORK方法,而这个方法就会调用本类中的具体实现。

本人JAVA学的不是很好,这种方法实现多态,感觉还是蛮有意思的。还用了设计模式。

调用者只需要知道执行execute方法,而不需要关心这个方法怎么实现的。可以通过反射机制,在运行时去执行。这样,大大的降低了模块间的耦合度。

今天又学到了一个。挺好!

2014.7.20
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: