Video: Belajar Java (Polimorfisme) 2024
Polimorfisme adalah istilah sains komputer yang mewah yang merujuk kepada keupayaan Java untuk menggunakan pembolehubah kelas asas untuk merujuk kepada objek subclass, menjejaki subclass sesuatu objek kepunyaan, dan menggunakan kaedah-kaedah yang ditindas subclass walaupun subclass tidak diketahui apabila program itu disusun.
Whew! Itulah sihat. Apa yang dipanggil adalah apabila setiap parameter memanggil jenis tertentu, anda boleh menggunakan objek yang dibuat daripada subkelas jenis tersebut.
Misalnya, anda sedang membangunkan aplikasi yang boleh memainkan permainan Tic-Tac-Toe yang mulia, dan anda membuat pemain bernama Pemain yang mewakili salah seorang pemain. Kelas ini mempunyai kaedah awam yang dinamakan bergerak yang mengembalikan int untuk menunjukkan mana persegi lembaga yang ingin ditandai.
Untuk memastikan perkara mudah, kaedah langkah membuta memilih persegi kosong pertama di papan tulis sebagai langkahnya. Itulah, sudah tentu, strategi yang mengerikan untuk menang di Tic-Tac-Toe. Oleh itu, anda membuat keputusan untuk membuat versi kelas yang lebih baik, yang dipanggil BetterPlayer. Anda melaksanakan kelas BetterPlayer sebagai kelas subclass Kelas pemain tetapi mengatasi kaedah langkah supaya kelas BetterPlayer membuat lebih pintar bergerak daripada kelas Player.
Katakan bahawa anda juga telah menulis satu kaedah bernama MakeAMove di kelas utama untuk aplikasi Tic-Tac-Toe (memanggilnya TicTacToe). Kaedah MakeAMove kelihatan seperti ini:
kekosongan awam MakeAMove (Player p) {int i = p. bergerak (); kembali saya;}
Anda boleh memanggil kaedah MakeAMove seperti ini:
int m = MakeAMove (Pemain baru ());
Dalam kes ini, kaedah MakeAMove akan mengembalikan dataran kosong pertama di papan.
Tetapi katakan anda menyebutnya seperti ini:
int m = MakeAMove (baru BetterPlayer ());
Dalam kes ini, kaedah MakeAMove akan mengembalikan langkah pemikiran yang lebih baik kerana kelas BetterPlayer menggunakan algoritma yang lebih baik untuk menentukan langkah seterusnya pemain.