我已经阅读了它,而不是使用instanceof
andgetClass
方法来实现多态性,因为它是更好的面向对象实践。
如果我的程序如下所示:
Piece
SlowPiece extends Piece,
FastPiece extends Piece,
SlowFlexible extends SlowPiece,
FastFlexible extends FastPiece
我有以下规则:SlowPiece's can only move one space, and FastPiece's as many as they'd like.
我将如何使用polymorphism
来确保如果我移动这样的一块Piece piece1 = new SlowPiece();
,它不会移动超过一个?
我有一个游戏板类,它应该能够移动棋子,但我不知道如何在没有代码嗅探的情况下阻止它移动一个大于 1 的 SlowPiece。
基本上,我知道多态性对于列举事物是多么的棒,但实际上与它们交互时,我不知道如何正确使用它。