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, Car
kelas (subclass) mewarisi atribut dan metode dari Vehicle
kelas (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 protected
pengubah 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 final
kata kunci:
Jika Anda mencoba mengakses final
kelas, 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)