视频: JAVA112.38 多态 2024
>
多态性 是一个奇特的计算机科学术语,指的是Java使用基类变量引用子类对象,跟踪对象所属的子类的能力,并使用子类的重写方法,即使在编译程序时子类是未知的。
呼!这是一口。归结起来,只要参数调用某个特定类型,就可以使用从该类型的子类创建的对象。
<!例如,假设你正在开发一个可以玩古老游戏Tic-Tac-Toe的应用程序,并且创建了一个名为Player的类来代表其中一个玩家。这个类有一个名为move的公共方法,返回一个int值来表示玩家想要标记哪个棋盘的平方。为了简单起见,移动方法一味选择棋盘上的第一个空方块作为移动。当然,这是在井字棋赢球的一个可怕的策略。因此,您决定创建一个名为BetterPlayer的更好的类。您将BetterPlayer类实现为Player类的子类,但重写move方法,以便BetterPlayer类比Player类更智能化。<!假设你已经在Tic-Tac-Toe应用程序的主类(称为TicTacToe)中写了一个名为MakeAMove的方法。 MakeAMove方法看起来像这样:public void MakeAMove(Player p){int i = p。移动();返回我;}
你可以这样调用MakeAMove方法:
<!但是假设你这样调用它:int m = MakeMove(new BetterPlayer());
在这种情况下,MakeAMove方法将返回一个更好的思路,因为BetterPlayer类使用更好的算法来确定玩家的下一步行动。