Video: Java Cơ Bản 47 Đa hình trong Java 2025
Polymorphism là một thuật ngữ khoa học máy tính kỳ diệu mà đề cập đến khả năng của Java sử dụng các biến lớp cơ sở để tham khảo các đối tượng phân lớp, theo dõi phân lớp mà một đối tượng thuộc về, và sử dụng các phương pháp ghi đè của lớp con mặc dù lớp con không được biết đến khi chương trình được biên dịch.
Whew! Đó là một miệng. Những gì nó boils xuống là bất cứ khi nào một tham số gọi cho một loại cụ thể, bạn có thể sử dụng một đối tượng tạo ra từ một phân lớp của loại đó thay thế.
Để giữ mọi thứ đơn giản, phương pháp di chuyển mù quáng chọn hình vuông trống đầu tiên trên bảng như di chuyển của nó. Đó là, tất nhiên, một chiến thuật khủng khiếp để chiến thắng tại Tic-Tac-Toe. Do đó, bạn quyết định tạo một phiên bản tốt hơn của lớp, được gọi là BetterPlayer. Bạn thực hiện lớp BetterPlayer như là một phân lớp của lớp Player nhưng ghi đè phương thức di chuyển để lớp BetterPlayer thực hiện các bước di chuyển thông minh hơn lớp Player.
public void MakeAMove (Player p) {int i = p. move (); return i;}
Bạn có thể gọi method MakeAMove như sau:
int m = MakeAMove (new Player ());
Trong trường hợp này, phương pháp MakeAMove sẽ trả lại hình vuông trống đầu tiên trên bảng.
int m = MakeAMove (new BetterPlayer ());
Trong trường hợp này, phương pháp MakeAMove sẽ trả lại di chuyển suy nghĩ tốt hơn vì lớp BetterPlayer sử dụng một thuật toán tốt hơn để xác định chuyển tiếp của người chơi.