接口编程扫盲(多态)
声明一个接口的变量(接口的引用)可以指向一个实现类(实现该接口的类)的实例,
但是该接口的变量不能使用实现类中有、接口中没有的方法(实现类中没有重写的方法、自添加的方法)
其实这就体现了多态的特性,比如我定义了一个接口ICompare(有compare方法),两个类CompareString、CompareNum实现了这个接口。那么可以如下生成对象:
ICompare com = new CompareString();
或者
ICompare com = new CompareNumber();
都是ICompare 类型的com对象,但是根据生成的具体类不同,我调用的compare方法有不同的功能。这就是多态的概念。
PS:这里可以说明,多态和继承并不是并列互相独立的概念,而是紧密相关的概念,没有继承,多态无以实现。
PSS:好基础的知识,我在学校到底学了什么。。。
参考文章
http://blog.csdn.net/lhm1019/article/details/59518305
http://www.cnblogs.com/leoo2sk/archive/2008/04/10/1146447.html