Java - Penimanan: Panduan Komprehensif untuk Pemula
Hai di sana, penyihir Java masa depan! ? Hari ini, kita akan melakukan perjalanan yang menarik ke dunia penimanan method Java. Jangan khawatir jika anda baru di atas pemrograman; saya akan menjadi pemandu yang mesra anda, menjelaskan semua langkah demi langkah. Jadi, ambil minuman kesukaan anda, duduk dengan santai dan mari kita penyelam!
Apa itu Penimanan Method?
Sebelum kita masuk ke detilnya, mari kita mula dengan analogi yang simple. Bayangkan anda memiliki resepi kue cherating yang anda warisi dari nenek anda. Ia adalah resepi yang bagus, tetapi anda memutuskan untuk menambahkan sentuhan anda sendiri dengan menggunakan coklat hitam dari pada coklat susu. Anda tidak mengubah keseluruhan resepi, hanya mengubah sebahagian darinya untuk menyesuaikan dengan rasa anda. Itu hampir sama dengan apa itu penimanan method di dalam Java!
Dalam istilah pemrograman, penimanan method adalah fitur yang membolehkan subclass untuk menyediakan implementasi khusus bagi method yang telah ditakrifkan di atas superclass nya. Ia seperti untuk mengatakan, "Terima kasih untuk resepi, Nenek, tetapi saya akan mengubahnya sedikit!"
Mengapa Kita Perlu Penimanan Method?
Penimanan method adalah konsep yang fundamental di atas Pemrograman Berorientasi Objek (OOP) dan menyediakan beberapa kebaikan:
- Ia membolehkan anda untuk menentukan tingkah laku khusus bagi subclass.
- Ia mendukung konsep polymorphism, yang kita akan diskusikan kemudian.
- Ia meningkatkan kebolehpakai dan fleksibiliti kod.
Cara Kerja Penimanan Method
Mari lihat contoh yang simple untuk memahami cara kerja penimanan method:
class Animal {
public void makeSound() {
System.out.println("Hewan itu membuat suara");
}
}
class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("Anjing itu berbual: Woof! Woof!");
}
}
public class Main {
public static void main(String[] args) {
Animal myAnimal = new Animal();
Animal myDog = new Dog();
myAnimal.makeSound(); // Output: Hewan itu membuat suara
myDog.makeSound(); // Output: Anjing itu berbual: Woof! Woof!
}
}
Dalam contoh ini, kita ada superclass Animal
dengan method makeSound()
. Kelas Dog
extends Animal
dan menimani method makeSound()
untuk menyediakan implementasi khusus bagi anjing.
Apabila kita membuat instance bagi Animal
dan memanggil makeSound()
, ia menggunakan method dari kelas Animal
. Walau bagaimanapun, apabila kita membuat instance bagi Dog
dan memanggil makeSound()
, ia menggunakan method yang ditimani dari kelas Dog
.
Anotasi @Override
Anda mungkin telah melihat anotasi @Override
di atas contoh kita. Ini adalah praktek yang baik di atas Java. Ia memberitahu kompiler bahwa kita berhasrat untuk menimani method dari superclass. Jika kita tersilap untuk menyebut nama method atau menggunakan parameter yang salah, kompiler akan menangkap kesilapan untuk kita. Ia seperti memiliki asisten yang membantu mengawasi atas bahu anda!
Aturan untuk Penimanan Method
Sekarang, mari kita bercakap tentang beberapa aturan penting untuk diingati apabila menimani method:
- Method di atas subclass harus memiliki nama yang sama seperti di atas superclass.
- Method di atas subclass harus memiliki senarai parameter yang sama seperti di atas superclass.
- jenis kembali harus sama atau jenis turunan dari jenis kembali yang diumumkan di atas method superclass.
- Tingkat akses tidak boleh lebih kaku dari method yang ditimani.
- Method instance boleh ditimani hanya jika mereka diwarisi oleh subclass.
- Method yang diumumkan sebagai final tidak boleh ditimani.
- Method yang diumumkan sebagai static tidak boleh ditimani tetapi boleh dideklarasikan kembali.
- Jika method tidak boleh diwarisi, ia tidak boleh ditimani.
- Konstruktor tidak boleh ditimani.
Mari kita letakkan aturan ini ke atas atas rakuan yang mudah digunakan:
Aturan | Keterangan |
---|---|
Nama Method | Harus sama seperti di atas superclass |
Parameter | Harus sesuai dengan method superclass |
jenis Kembali | Sama atau jenis turunan dari method superclass |
Tingkat Akses | Tidak boleh lebih kaku |
Method Instance | Boleh ditimani jika diwarisi |
Method Final | Tidak boleh ditimani |
Method Static | Tidak boleh ditimani (boleh dideklarasikan kembali) |
Warisan | Method harus boleh diwarisi untuk dapat ditimani |
Konstruktor | Tidak boleh ditimani |
Menggunakan Kata Kunci super
Kadang-kadang, anda mungkin mahu untuk memanggil method yang ditimani dari superclass di atas subclass anda. Ini di mana kata kunci super
menjadi berguna. Mari kita ubah contoh sebelumnya:
class Animal {
public void makeSound() {
System.out.println("Hewan itu membuat suara");
}
}
class Dog extends Animal {
@Override
public void makeSound() {
super.makeSound(); // Panggil method superclass
System.out.println("Anjing itu berbual: Woof! Woof!");
}
}
public class Main {
public static void main(String[] args) {
Dog myDog = new Dog();
myDog.makeSound();
}
}
Output:
Hewan itu membuat suara
Anjing itu berbual: Woof! Woof!
Dalam contoh ini, kita menggunakan super.makeSound()
untuk memanggil method makeSound()
dari kelas Animal
sebelum menambah tingkah laku khusus bagi anjing. Ia seperti untuk mengatakan, "Pertama, lakukan apa yang hewan umum lakukan, kemudian lakukan apa yang anjing khusus lakukan."
Kuasa Polymorphism
Penimanan method adalah sangat berhubungan dengan konsep OOP yang kuat yang dipanggil polymorphism. Polymorphism membolehkan kita untuk menggunakan rujukan superclass untuk merujuk kepada objek subclass. Mari lihat contoh:
class Shape {
public void draw() {
System.out.println("Menggambar bentuk");
}
}
class Circle extends Shape {
@Override
public void draw() {
System.out.println("Menggambar bulatan");
}
}
class Square extends Shape {
@Override
public void draw() {
System.out.println("Menggambar kotak");
}
}
public class Main {
public static void main(String[] args) {
Shape shape1 = new Circle();
Shape shape2 = new Square();
shape1.draw(); // Output: Menggambar bulatan
shape2.draw(); // Output: Menggambar kotak
}
}
Dalam contoh ini, kita menggunakan rujukan Shape
untuk menyimpan objek Circle
dan Square
. Apabila kita memanggil method draw()
, Java tahu untuk menggunakan method yang ditimani di atas subclass masing-masing. Ini adalah sihir polymorphism!
Penutup
Dan itu adalah untuk saat ini, rakyat! Kita telah melカバi dasar-dasar penimanan method di atas Java, dari definisi dan aturan hingga aplikasinya praktis. Ingat, penimanan method adalah seperti menambah sentuhan pribadi anda ke atas resepi keluarga – ia membolehkan anda untuk menyesuaikan tingkah laku diwarisi sementara menjaga struktur keseluruhan.
Apabila anda teruskan perjalanan Java anda, anda akan mendapati penimanan method menjadi alat yang berharga di atas rak pemrograman anda. Ia adalah konsep yang penting yang membantu menjadikan kod anda lebih fleksibel, dapat digunakan kembali, dan berorientasi objek.
Teruskan untuk berlatih, tetap curious, dan happy coding! ?????
Credits: Image by storyset