本帖最后由 championjx 于 2015-11-2 13:57 编辑
我是这么理解的
话说有愚公要移山,假设没人帮助愚公,那他挂了的时候也没移走,但是他有无穷尽的子孙也在移山,而随着时代的发展,使用的工具也在进化
class 愚公移山
{
public static void main(String[] args)
{
愚公 愚 = new 愚公();
//愚公自己移山
人工移山(愚);
//愚公挂了,他儿子帮着移山,新工具
愚 = new 儿子();
人工移山(儿子);
//愚公儿子挂了,孙子接着移山,新工具
愚 = new 孙子();
人工移山(孙子);
//谁也不知道要几辈,用何种方法才能移走山,所以不管接下来谁移山,用什么方法,都用愚公来指向 //上文中的“几辈,何种方法”就是功能的扩展,可能是已存在的,正在实现的,未想好的需求
}
public static void 人工移山(愚公 愚公)
{
.....
}
}
//接口:移山功能
interface 移太行山
{
public abstract void 移山();
}
class 愚公 implements 移太行山
{
public void 移山()
{
System.out.println("用小铲子");
}
}
class 儿子 extends 愚公 implements 移太行山
{
public void 移山()
{
System.out.println("用大锄头");
}
}
class 孙子 extends 儿子 implements 移太行山
{
public void 移山()
{
System.out.println("挖掘机");
}
}
|