如果我的比较看起来很奇怪,我会道歉,但仍然试图清除我的困惑......
举个例子 DisplayObjectContainer.addChild(DisplayObject) -
可以传入Sprite,Shape,MovieClip等等 - 它们都继承了DisplayObject,因此它们都可以添加到显示列表中。
我想知道,这种行为不是类似于实现相同接口的类。我永远无法在我的项目中实现它,但研究了实现相同接口的类,可以用来代替彼此。这可能是什么实际例子(类似于我上面用于类和子类的那个)?
答案 0 :(得分:1)
你的例子也可能是一个好的例子。 您的所有对象都可以使用方法Display实现IDisplayable。
DisplayContainer可能是IDisplayable的集合。
一只鸭子是一只鸟,一只鸭子可以飞翔 鸵鸟是一只鸟,鸵鸟不能飞 飞机不是鸟,但可以飞。因此,如果你实施Fly on Bird,你必须说飞机是一只鸟...... 如果你在FlyingThingy上实施Fly,你必须说鸵鸟是飞行的东西......
如果您创建了一个Interface IFlier,然后为duck and plane实现它,那么现在您的描述是准确的。我在这里选择了相当明显的课程,但是当你深入研究其他人的代码,或者甚至是你自己做了几个月之后的自己的代码时,读一架飞机就是一只鸟,或者是鸵鸟。飞快地把你从你的高处摔下来