Selasa, 10 November 2015

Pewarisan sifat (Inheritance) dan Polymorphisme

1.Pewarisan (Inheritance)
         Pewarisan  merupakan sifat dalam bahasa berorientasi objek yang memungkinkan sifat-sifat dari suatu kelas diturunkan ke kelas lain. Sistem OOP memungkinkan kita untuk mendefinisikan suatu kelas baru dengan mewarisi sifat dari kelas lain yang sudah ada. Penurunan sifat ini bisa dilakukan dilakukan secara bertingkat-tingkat, sehingga semakin ke bawah maka kelas tersebut semakin spesifik.

      Pewarisan memberikan atau mewariskan sesuatu kepada keturunan berikutnya. misalnya, seorang anak pasti akan mewarisi beberapa sifat atau perilaku yang dimiliki oleh ibu/bapaknya. dalam konteks ini, suatu kelas dalam program dapat diturunkan menjadi kelas-kelas baru lainnya yang akan mewarisi beberapa sifat atau perilaku dari kelas induknya. sebagai contoh, apabila anda memiliki kelas A dalam program yang anda buat maka anda dapat membentuk kelas-kelas turunan dari kelas A tersebut(Misalnya, kelas B) yang mewarisi sifat-sifat yang terkandung dalam kelas A. dalam proses pembuatan kelas turunan tersebut, Anda dapat menambahkan sifat dan perilaku baru ke dalam kelas B, yang sebelumnya tidak dimiliki dalam kelas A. Dalam terminologi java, kelas induk dinamakan dengan superclass dankelas turunan dinamakan dengan subclass. untuk membuat kelas anak atau kelas turunan berdasarkan class yang ada, anda dapat menggunakan kata kunci extends.
keterangan : extends artinya diturunkan.


Contoh program javanya :

Simpan dengan nama SmartMahasiswa.java

Public class SmartMahsiswa extends Mahasiswa{

}

Simpan dengan nama Main.java

public class Main{

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

SmartMahasiswa mhs = new SmartMahasiswa();

mhs.setNim(“1400012”);

mhs.setNama(“Kudiantoro Widianto”);

mhs.printNim();

mhs.printNama();

}

}

kemudian jalankan

C:\>javac SmartMahasiswa.java
C:\>javac Main.java
C:\>java Main

Kontruksi objek mahasiswa

Nim:1400012

Nama:Kudiantoro Widianto

C:\>

3. Polymorphic (Banyak bentuk)

Polymorphism, suatu aksi yang memungkinkan pemrogram menyampaikan pesan tertentu keluar dari hirarki obyeknya, dimana obyek yang berbeda memberikan tanggapan/respon terhadap pesan yang sama sesuai dengan sifat masing-masing obyek.

Atau Polymorphic dapat berarti banyak bentuk, maksudnya yaitu kita dapat menimpa (override), suatu method, yang berasal dari parent class (super class) dimana object tersebut diturunkan, sehingga memiliki kelakuan yang berbeda.

Contoh program java nya :

Simpan dengan nama Mahasiswabaru.java

public class Mahasiswabaru extends Mahasiswa{

public void printNama(){

System.out.println(“Hallo, saya Mahasiswa baru di sini ”);

Super.printNama();

}

}

Simpan dengan nama Main.java

public class Main{

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

Mahasiswabaru mhs = new Mahasiswabaru();

mhs.setnpm(“14113677”);

mhs.setNama("Jonnykar”);

mhs.printNpm();

mhs.printNama();

}

}

Kemudian compile dan run.

C:\>javac Mahasiswabaru.java
C:\>javac Main.java
C:\>java Main

Kontruksi objek mahasiswa

Npm:14113677

Hallo, saya Mahasiswa baru di sini

Nama: Jonnykar

C:\>

Terlihat bahwa disini kita mengoverride method printNama(), dengan menambahkan beberapa teks tambahan, sehingga method printNama(), pada class CoolMahasiswa, memiliki perilaku yang berbeda dengan class Mahasiswa.


2.Polymorphic (Banyak bentuk)

Polymorphism, suatu aksi yang memungkinkan pemrogram menyampaikan pesan tertentu keluar dari hirarki obyeknya, dimana obyek yang berbeda memberikan tanggapan/respon terhadap pesan yang sama sesuai dengan sifat masing-masing obyek.

Atau Polymorphic dapat berarti banyak bentuk, maksudnya yaitu kita dapat menimpa (override), suatu method, yang berasal dari parent class (super class) dimana object tersebut diturunkan, sehingga memiliki kelakuan yang berbeda.


Contoh program java nya :

Simpan dengan nama BeautyfullMahasiswa.java

public class BeautyfullMahasiswa extends Mahasiswa{

public void printNama(){

System.out.println(“Hallo, saya Mahasiswa yg cantik n baik”);

Super.printNama();

}

}

Simpan dengan nama Main.java

public class Main{

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

BeautyfullMahasiswa mhs = new BeautyfullMahasiswa();

mhs.setNpm(“1411377”);

mhs.setNama(“Sabariah”);

mhs.printNpm();

mhs.printNama();

}

}

Kemudian compile dan run.

C:\>javac BeautyfullMahasiswa.java
C:\>javac Main.java
C:\>java Main

Kontruksi objek mahasiswa

Npm:144113677

Hallo, saya Mahasiswa yg cantik  n baik

Nama: Sabariah

C:\>

Terlihat bahwa disini kita mengoverride method printNama(), dengan menambahkan beberapa teks tambahan, sehingga method printNama(), pada class BeautyfullMahasiswa, memiliki perilaku yang berbeda dengan class Mahasiswa.

0 komentar:

Posting Komentar