继承复用接口

当你继承了一个类时,你也创建了一个新的类。这个新的类不仅包含了已有类的所有成员(尽管private成员已经隐藏起来了,是不能访问的),更重要的是它复制了基类的接口。于是所有能够传给基类的消息也都可以传给派生类。由于我们根据它能接受什么消息来判断这是什么类,因此这就意味着派生类和基类是属于同一类型的。

既然基类和派生类具有相同的基本接口,那么这个接口的背后就必须跟着实现。也就是当对象收到某个消息的时候,它必须能执行一些代码。如果你只是继承了一个类,其他什么都不做,那么基类的方法会直接带进派生类,也就是说派生类的对象与基类的对象的类型相同而且行为也一样,这可就没有什么吸引力了。

«1»