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

Warisan Jawa

Warisan Java

Dalam tutorial ini, kita akan belajar tentang pewarisan Java dan jenisnya dengan bantuan contoh.

Pewarisan adalah salah satu fitur utama OOP yang memungkinkan kita membuat kelas baru dari kelas yang sudah ada.

Kelas baru yang dibuat dikenal sebagai subkelas (anak atau kelas turunan) dan kelas yang ada dari mana kelas anak diturunkan dikenal sebagai superclass (kelas induk atau dasar).

extends kata kunci digunakan untuk melakukan pewarisan di Jawa. Misalnya,

class Animal {
  // methods and fields
}

// use of extends keyword
// to perform inheritance
class Dog extends Animal {

  // methods and fields of Animal
  // methods and fields of Dog
}

Dalam contoh di atas, Anjing kelas dibuat dengan mewarisi metode dan bidang dari Hewan kelas.

Di sini, Anjing adalah subkelas dan Hewan adalah kelas super.


Contoh 1:Warisan Java

class Animal {

  // field and method of the parent class
  String name;
  public void eat() {
    System.out.println("I can eat");
  }
}

// inherit from Animal
class Dog extends Animal {

  // new method in subclass
  public void display() {
    System.out.println("My name is " + name);
  }
}

class Main {
  public static void main(String[] args) {

    // create an object of the subclass
    Dog labrador = new Dog();

    // access field of superclass
    labrador.name = "Rohu";
    labrador.display();

    // call method of superclass
    // using object of subclass
    labrador.eat();

  }
}

Keluaran

My name is Rohu
I can eat

Dalam contoh di atas, kami telah menurunkan subkelas Anjing dari kelas super Hewan . Perhatikan pernyataannya,

labrador.name = "Rohu";

labrador.eat();

Di sini, labrador adalah objek Anjing . Namun, nama dan eat() adalah anggota Hewan kelas.

Sejak Anjing mewarisi bidang dan metode dari Hewan , kami dapat mengakses bidang dan metode menggunakan objek Anjing .


adalah-hubungan

Di Jawa, pewarisan adalah is-a hubungan. Artinya, kita menggunakan pewarisan hanya jika ada hubungan is-a antara dua kelas. Misalnya,

  • Mobil adalah Kendaraan
  • Oranye adalah Buah
  • Ahli Bedah adalah seorang Dokter
  • Anjing adalah Hewan

Di sini, Mobil dapat mewarisi dari Kendaraan , Oranye dapat mewarisi dari Buah , dan seterusnya.


Penggantian Metode dalam Warisan Java

Dalam Contoh 1 , kita melihat objek subclass dapat mengakses metode superclass.

Namun, jika metode yang sama ada di superclass dan subclass, apa yang akan terjadi?

Dalam hal ini, metode di subclass menimpa metode di superclass. Konsep ini dikenal sebagai metode overriding di Java.

Contoh 2:Penggantian metode di Java Inheritance

class Animal {

  // method in the superclass
  public void eat() {
    System.out.println("I can eat");
  }
}

// Dog inherits Animal
class Dog extends Animal {

  // overriding the eat() method
  @Override
  public void eat() {
    System.out.println("I eat dog food");
  }

  // new method in subclass
  public void bark() {
    System.out.println("I can bark");
  }
}

class Main {
  public static void main(String[] args) {

    // create an object of the subclass
    Dog labrador = new Dog();

    // call the eat() method
    labrador.eat();
    labrador.bark();
  }
}

Keluaran

I eat dog food
I can bark

Pada contoh di atas, eat() metode hadir di kedua superclass Hewan dan subkelas Anjing .

Di sini, kami telah membuat objek labrador dari Anjing .

Sekarang ketika kita memanggil eat() menggunakan objek labrador , metode di dalam Anjing disebut. Ini karena metode di dalam kelas turunan menggantikan metode di dalam kelas dasar.

Ini disebut metode override. Untuk mempelajari lebih lanjut, kunjungi Java Method Overriding.

Catatan :Kami telah menggunakan @Override anotasi untuk memberi tahu kompiler bahwa kami mengganti metode. Namun, anotasi tidak wajib. Untuk mempelajari lebih lanjut, kunjungi Anotasi Java.


Kata Kunci super dalam Warisan Java

Sebelumnya kita melihat bahwa metode yang sama di subkelas menimpa metode di superkelas.

Dalam situasi seperti itu, super kata kunci digunakan untuk memanggil metode kelas induk dari metode kelas anak.

Contoh 3:Kata Kunci super dalam Warisan

class Animal {

  // method in the superclass
  public void eat() {
    System.out.println("I can eat");
  }
}

// Dog inherits Animal
class Dog extends Animal {

  // overriding the eat() method
  @Override
  public void eat() {

    // call method of superclass
    super.eat();
    System.out.println("I eat dog food");
  }

  // new method in subclass
  public void bark() {
    System.out.println("I can bark");
  }
}

class Main {
  public static void main(String[] args) {

    // create an object of the subclass
    Dog labrador = new Dog();

    // call the eat() method
    labrador.eat();
    labrador.bark();
  }
}

Keluaran

I can eat
I eat dog food
I can bark 

Pada contoh di atas, eat() metode hadir di kedua kelas dasar Hewan dan kelas turunan Anjing . Perhatikan pernyataannya,

super.eat();

Di sini, super kata kunci digunakan untuk memanggil eat() metode yang ada di superclass.

Kita juga dapat menggunakan super kata kunci untuk memanggil konstruktor superclass dari konstruktor subclass. Untuk mempelajari lebih lanjut, kunjungi kata kunci super Java.


Anggota yang dilindungi dalam Warisan

Di Java, jika kelas menyertakan protected bidang dan metode, maka bidang dan metode ini dapat diakses dari subkelas kelas.

Contoh 4:Anggota yang dilindungi dalam Warisan

class Animal {
  protected String name;

  protected void display() {
    System.out.println("I am an animal.");
  }
}

class Dog extends Animal {

  public void getInfo() {
    System.out.println("My name is " + name);
  }
}

class Main {
  public static void main(String[] args) {

    // create an object of the subclass
    Dog labrador = new Dog();

    // access protected field and method
    // using the object of subclass
    labrador.name = "Rocky";
    labrador.display();

    labrador.getInfo();
  }
}

Keluaran

I am an animal.
My name is Rocky

Pada contoh di atas, kita telah membuat sebuah kelas bernama Animal. Kelas menyertakan bidang yang dilindungi:name dan metode:display() .

Kami telah mewarisi Anjing kelas mewarisi Hewan . Perhatikan pernyataannya,

labrador.name = "Rocky";
labrador.display();

Di sini, kita dapat mengakses bidang yang dilindungi dan metode superclass menggunakan labrador objek subkelas.


Mengapa menggunakan warisan?

  • Penggunaan warisan yang paling penting dalam Java adalah penggunaan kembali kode. Kode yang ada di kelas induk dapat langsung digunakan oleh kelas anak.
  • Penggantian metode juga dikenal sebagai polimorfisme waktu proses. Oleh karena itu, kita dapat mencapai Polimorfisme di Jawa dengan bantuan pewarisan.

Jenis pewarisan

Ada lima jenis warisan.

1. Warisan Tunggal

Dalam pewarisan tunggal, satu subclass meluas dari satu superclass. Misalnya,


2. Warisan Bertingkat

Dalam pewarisan bertingkat, subclass meluas dari superclass dan kemudian subclass yang sama bertindak sebagai superclass untuk kelas lain. Misalnya,


3. Warisan Hirarkis

Dalam pewarisan hierarkis, beberapa subclass diperluas dari satu superclass. Misalnya,


4. Beberapa Warisan

Dalam multiple inheritance, satu subclass memanjang dari beberapa superclass. Misalnya,

Catatan :Java tidak mendukung pewarisan berganda. Namun, kita dapat mencapai pewarisan berganda menggunakan antarmuka. Untuk mempelajari lebih lanjut, kunjungi Java mengimplementasikan multiple inheritance.


5. Warisan Hibrida

Warisan hibrida adalah kombinasi dari dua atau lebih jenis pewarisan. Misalnya,

Di sini, kami telah menggabungkan pewarisan hierarki dan pewarisan berganda untuk membentuk pewarisan hibrida.


java

  1. Kata kunci terakhir Java
  2. Instance Java dari Operator
  3. Kelas Statis Bersarang Java
  4. Kelas Anonim Java
  5. Kelas Tunggal Jawa
  6. Refleksi Jawa
  7. Kelas Java ObjectOutputStream
  8. Java Generik
  9. Kelas File Java
  10. C# - Warisan