Latest web development tutorials

warisan Java

Warisan adalah landasan teknologi pemrograman java object-oriented, karena memungkinkan penciptaan kelas tingkat hirarki. Warisan dapat dipahami sebagai objek untuk mendapatkan properti dari objek lain dari proses.

Jika kelas induk adalah kelas A kelas B, kelas B dan kelas C adalah kelas induk, dan kami juga memanggil C adalah subclass dari A, Kelas C dari Kelas A diwariskan. Di Jawa, kelas warisan warisan tunggal, yaitu, subclass dapat memiliki satu kelas induk

Dua yang paling umum digunakan kata kunci warisan meluas dan alat.

Kedua penggunaan kata kunci dan menentukan apakah sebuah benda benda lain IS-A (a) hubungan.

Dengan menggunakan dua kata kunci tersebut, kita dapat mencapai objek untuk mendapatkan sifat-sifat objek lain.

Semua kelas Java diwarisi oleh kelas java.lang.Object, sehingga Object kelas merupakan nenek moyang dari semua kelas, dan di samping itu Object, semua kelas harus memiliki kelas induk.

Oleh lebih-meluas kata kunci dapat mendeklarasikan mewarisi kelas dari kelas lain, bentuk umum adalah sebagai berikut:

// A.java
public class A {
    private int i;
    protected int j;
 
    public void func() {
 
    }
}
 
// B.java
public class B extends A {
}

Kode di atas potongan menunjukkan, B mewarisi dari A, B adalah subclass dari A. Dan A adalah subclass dari Object, ada mungkin tidak secara eksplisit dinyatakan.

Sebagai contoh B subclass dari A memiliki semua variabel anggota, tetapi bagi anggota pribadi variabel B, tetapi tidak memiliki akses, yang menjamin enkapsulasi A.


IS-A Hubungan

Bahwa IS-A: Sebuah objek adalah klasifikasi objek lain.

Berikut adalah kata kunci meluas warisan implementasi.

public class Animal{
}

public class Mammal extends Animal{
}

public class Reptile extends Animal{
}

public class Dog extends Mammal{
}

Berdasarkan contoh di atas, pernyataan berikut adalah benar:

  • kelas hewan adalah kelas induk kelas Mamalia.
  • kelas hewan adalah kelas induk kelas Reptil.
  • Mamalia dan kelas Reptil adalah subclass dari kelas Hewan.
  • kelas Anjing merupakan sebuah subclass dari kelas Mamalia adalah subclass dari kelas Hewan.

Analisis IS-A hubungan dalam contoh di atas, sebagai berikut:

  • Mamalia IS-A Animal
  • Reptil IS-A Animal
  • Anjing IS-A Mammal

Oleh karena itu: Dog IS-A Animal

Dengan menggunakan kata kunci meluas, subclass mewarisi semua metode kelas induk dan properti, tetapi tidak dapat menggunakan metode dan properti (swasta) pribadi.

Kami menggunakan operator instanceof dapat menentukan Mammal IS-A Animal

contoh

public class Dog extends Mammal{

   public static void main(String args[]){

      Animal a = new Animal();
      Mammal m = new Mammal();
      Dog d = new Dog();

      System.out.println(m instanceof Animal);
      System.out.println(d instanceof Mammal);
      System.out.println(d instanceof Animal);
   }
}

Contoh di atas hasil disusun adalah sebagai berikut:

true
true
true

Setelah memperkenalkan meluas kata kunci, kita akan melihat bagaimana menggunakan alat kata kunci untuk menunjukkan hubungan IS-A.

Mengimplementasikan kata kunci dalam kasus antarmuka warisan kelas, situasi ini tidak dapat menggunakan kata kunci meluas.

contoh

public interface Animal {}

public class Mammal implements Animal{
}

public class Dog extends Mammal{
}

kata kunci instanceof

Anda dapat menggunakan operator instanceof untuk menguji apakah Mammal dan objek anjing adalah instance dari kelas Hewan.

interface Animal{}

class Mammal implements Animal{}

public class Dog extends Mammal{
   public static void main(String args[]){

      Mammal m = new Mammal();
      Dog d = new Dog();

      System.out.println(m instanceof Animal);
      System.out.println(d instanceof Mammal);
      System.out.println(d instanceof Animal);
   }
} 

Contoh di atas hasil disusun adalah sebagai berikut:

true
true
true

HAS-A Hubungan

HAS-A afiliasi atas nama kelas dan anggotanya. Ini membantu untuk menggunakan kembali kode dan mengurangi kesalahan kode.

contoh

public class Vehicle{}
public class Speed{}
public class Van extends Vehicle{
	private Speed sp;
} 

Van kelas dan kelas Kecepatan adalah HAS-A Hubungan (van memiliki Kecepatan a), sehingga Anda tidak akan memiliki semua kode yang disisipkan ke dalam kelas Van Kecepatan di kelas, dan kelas Kecepatan dapat digunakan kembali dalam beberapa aplikasi.

Dalam fitur berorientasi objek, pengguna tidak perlu khawatir tentang bagaimana kelas internal.

Rincian pelaksanaan kelas Van disembunyikan dari pengguna, sehingga pengguna hanya perlu tahu bagaimana memanggil Van kelas untuk menyelesaikan fungsi tertentu, tanpa harus mengetahui van kelas adalah untuk melakukannya sendiri atau memanggil kelas lain untuk melakukan pekerjaan.

Java hanya mendukung single inheritance, yang berarti bahwa kelas tidak dapat mewarisi beberapa kelas.

Praktek berikut ini tidak sah:

public class extends Animal, Mammal{} 

Java hanya mendukung single inheritance (warisan dan kelas dasar abstrak), tapi kita bisa menggunakan antarmuka untuk melaksanakan (interface multiple-warisan untuk mencapai), struktur skrip seperti:

public class Apple extends Fruit implements Fruit1, Fruit2{}

Umumnya, kita mewarisi kelas dasar dan kelas abstrak dengan meluas kata kunci mengimplementasikan antarmuka dengan warisan mengimplementasikan kelas kata kunci.