Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> java

Menguasai Warisan Java: Konsep, Jenis, dan Contoh Praktis

Menguasai Warisan Java

Jelajahi warisan Java secara mendalam—pahami prinsipnya, contoh dunia nyata, dan cara menerapkannya untuk kode yang lebih bersih dan dapat digunakan kembali.

Warisan adalah sumbu pemrograman berorientasi objek yang memungkinkan Anda membuat kelas baru berdasarkan kelas yang sudah ada.

Kelas yang diperturunkan disebut subclass (anak atau derived), sementara kelas yang di-extend disebut superclass (induk atau base). Kata kunci extends melakukan hubungan ini.

class Animal { // methods and fields } class Dog extends Animal { // Dog inherits fields and methods from Animal }

Di sini, Dog mewarisi semua anggota Animal—subclass memperoleh fungsionalitas induk.


Contoh 1: Warisan Dasar

class Animal { String name; public void eat() { System.out.println("Saya bisa makan"); } } class Dog extends Animal { public void display() { System.out.println("Namaku adalah " + name); } } class Main { public static void main(String[] args) { Dog labrador = new Dog(); labrador.name = "Rohu"; labrador.display(); labrador.eat(); } }

Output

Namaku adalah Rohu Saya bisa makan

Dalam contoh ini, Dog mewarisi name dan eat() dari Animal, sehingga objek Dog dapat mengaksesnya secara langsung.

Menguasai Warisan Java: Konsep, Jenis, dan Contoh Praktis

Hubungan is-a

Warisan di Java mewakili hubungan is-a: subclass adalah bentuk khusus dari superclass-nya.

Hierarki alami ini membenarkan penggunaan warisan.


Method Overriding

Saat subclass mendefinisikan metode dengan tanda tangan yang sama seperti superclassnya, metode subclass meng-override versi superclass. Ini memungkinkan polimorfisme runtime.

Contoh 2: Overriding eat()

class Animal { public void eat() { System.out.println("Saya bisa makan"); } } class Dog extends Animal { @Override public void eat() { System.out.println("Saya makan makanan anjing"); } public void bark() { System.out.println("Saya bisa mengeong"); } } class Main { public static void main(String[] args) { Dog labrador = new Dog(); labrador.eat(); labrador.bark(); } }

Output

Saya makan makanan anjing Saya bisa mengeong

Pemanggilan eat() pada labrador terpadu ke metode yang di-override di Dog.

Tips: Anotasi @Override opsional namun sangat direkomendasikan—ini memastikan kompiler memeriksa bahwa Anda benar-benar meng-override metode.


Menggunakan super untuk Mengakses Superclass

Saat meng-override, kata kunci super memungkinkan Anda memanggil implementasi induk.

Contoh 3: super dalam eat()

class Animal { public void eat() { System.out.println("Saya bisa makan"); } } class Dog extends Animal { @Override public void eat() { super.eat(); System.out.println("Saya makan makanan anjing"); } public void bark() { System.out.println("Saya bisa mengeong"); } } class Main { public static void main(String[] args) { Dog labrador = new Dog(); labrador.eat(); labrador.bark(); } }

Output

Saya bisa makan Saya makan makanan anjing Saya bisa mengeong

Di sini, super.eat() memanggil metode yang didefinisikan di Animal sebelum mengeksekusi logika subclass.

Demikian pula, super dapat memanggil konstruktor superclass.


Anggota Protected dalam Warisan

Field atau metode yang ditandai protected dapat diakses oleh subclass terlepas dari paket.

Contoh 4: Mengakses Anggota Protected

class Animal { protected String name; protected void display() { System.out.println("Saya adalah seekor hewan."); } } class Dog extends Animal { public void getInfo() { System.out.println("Namaku adalah " + name); } } class Main { public static void main(String[] args) { Dog labrador = new Dog(); labrador.name = "Rocky"; labrador.display(); labrador.getInfo(); } }

Output

Saya adalah seekor hewan. Namaku adalah Rocky

Subclass dapat dengan bebas membaca dan memodifikasi field protected name dan memanggil display().


Mengapa Menggunakan Warisan?


Jenis Warisan

Java mendukung lima model konseptual warisan—setiap satu berguna dalam skenario yang berbeda.

1. Single Inheritance

Sebuah kelas memperluas hanya satu superclass.

Menguasai Warisan Java: Konsep, Jenis, dan Contoh Praktis

2. Multilevel Inheritance

Sebuah subclass menjadi superclass dari kelas lain, menciptakan rantai.

Menguasai Warisan Java: Konsep, Jenis, dan Contoh Praktis

3. Hierarchical Inheritance

Beberapa subclass mewarisi dari satu superclass.

Menguasai Warisan Java: Konsep, Jenis, dan Contoh Praktis

4. Multiple Inheritance

Java tidak mengizinkan sebuah kelas untuk memperluas lebih dari satu kelas, tetapi antarmuka menyediakan cara untuk mencapai pola ini.

Menguasai Warisan Java: Konsep, Jenis, dan Contoh Praktis

Catatan: Multiple inheritance dapat diimplementasikan melalui antarmuka; lihat Java implements multiple inheritance.


5. Hybrid Inheritance

Campuran dari dua atau lebih jenis warisan—misalnya, menggabungkan hierarchical dan multiple inheritance.

Menguasai Warisan Java: Konsep, Jenis, dan Contoh Praktis

java

  1. Memahami Kata Kunci final Java: Variabel, Metode, dan Kelas
  2. Operator instanceof Java: Panduan Lengkap
  3. Memahami Kelas Bersarang Statis Java: Penggunaan, Perbedaan, dan Contoh
  4. Menguasai Kelas Dalam Anonim Java: Definisi, Sintaks, dan Contoh Praktis
  5. Pola Singleton Java Dijelaskan: Cara Menerapkan dan Menggunakannya dengan Aman
  6. Menguasai Refleksi Java: Memeriksa Kelas, Metode, dan Field pada Waktu Eksekusi
  7. Menguasai Java ObjectOutputStream: Serialisasi, Metode, dan Contoh Praktis
  8. Menguasai Java Generics – Membangun Kode yang Dapat Digunakan Kembali dan Aman Tipe
  9. Pengoperasian File Java dengan java.io – Pembuatan, Pembacaan, Penulisan & Penghapusan
  10. Menguasai Pewarisan C#: Membangun Kode yang Dapat Digunakan Lagi dan Dapat Diperbarui