Warisan Jawa


Warisan Java (Subclass dan Superclass)

Di Java, dimungkinkan untuk mewarisi atribut dan metode dari satu kelas ke kelas lainnya. Kami mengelompokkan "konsep pewarisan" ke dalam dua kategori:

  • subclass (anak) - kelas yang mewarisi dari kelas lain
  • superclass (induk) - kelas yang diwarisi dari

Untuk mewarisi dari kelas, gunakan extends kata kunci.

Pada contoh di bawah, Carkelas (subclass) mewarisi atribut dan metode dari Vehiclekelas (superclass):

Contoh

class Vehicle {
  protected String brand = "Ford";        // Vehicle attribute
  public void honk() {                    // Vehicle method
    System.out.println("Tuut, tuut!");
  }
}

class Car extends Vehicle {
  private String modelName = "Mustang";    // Car attribute
  public static void main(String[] args) {

    // Create a myCar object
    Car myCar = new Car();

    // Call the honk() method (from the Vehicle class) on the myCar object
    myCar.honk();

    // Display the value of the brand attribute (from the Vehicle class) and the value of the modelName from the Car class
    System.out.println(myCar.brand + " " + myCar.modelName);
  }
}

Apakah Anda memperhatikan protectedpengubah di Kendaraan?

Kami menetapkan atribut merek di Vehicle ke protected pengubah akses . Jika disetel ke private, kelas Mobil tidak akan dapat mengaksesnya.

Mengapa Dan Kapan Menggunakan "Warisan"?

- Berguna untuk penggunaan kembali kode: menggunakan kembali atribut dan metode kelas yang ada saat Anda membuat kelas baru.

Tip: Lihat juga bab berikutnya, Polimorfisme , yang menggunakan metode yang diwarisi untuk melakukan tugas yang berbeda.


Kata Kunci terakhir

Jika Anda tidak ingin kelas lain mewarisi dari kelas, gunakan finalkata kunci:

Jika Anda mencoba mengakses finalkelas, Java akan menghasilkan kesalahan:

final class Vehicle {
  ...
}

class Car extends Vehicle {
  ...
}

Outputnya akan menjadi seperti ini:

Main.java:9: error: cannot inherit from final Vehicle
class Main extends Vehicle {
                  ^
1 error)