Update - Cara Blogging  dan Java Netbeans
  • Home
  • Amazon
  • Tip and Trick
  • Java
  • E-Books
  • Other
  • About me
  • Contact Us
  • Privacy Policy
  • Sitemap
Beranda » netbeans » Polymorphism, Abstract Class dan Interface

Polymorphism, Abstract Class dan Interface

Polymorphism

Pendahuluan

• Dalam pengembangan berorientasi objek yang dimaksud polymorphism atau biasa disebut polimorfisme adalah kemampuan dapat memperoleh berapa bentuk.
• Polimorfisme merupakan fitur penting pada Bahasa pemrograman berorientasi objek
• Fitur ini adalah pembeda antara pemrograman berorientasi objek dengan bahasa pemrograman tradisional yg hanya sampai menerapkan tipe data abstrak.


Polimorfisme (Polymorphism)

• Polimorfisme adalah konsep dalam pemrograman berorientasi objek dimana objek dapat memiliki beberapa bentuk.
• Dua objek dikatakan sebagai polymorphic bila objek itu mempunyai antarmuka identic namun memiliki perilaku yang berbeda.
• Polimorfisme memungkinkan kita mengenali dan mengeksploitasi keserupaan-keserupaan diantara kelas-kelas yang berbeda

Perhatikan herarki kelas diagram berikut


Poligon -----> rectangle 
               ------> square
               -------->triagle




Dalam Bahasa Java
public static void main(String[] args)
{
Poligon p = new Poligon();
Square s = new Square();
Rectangle r = new Rectangle();
Triangle t = new Triangle();
p=s;
p=r;
p=t;
}

Keterangan:  Instruksi ini menugaskan variabel yang dideklarasikan bertipe Polygon memuat objek Rectangle, kemudian Square, dan Triangle. “p=s” disebut polymorphic assignment, dan “p” adalah polymorphic object.


• Penugasan dimana tipe dari sumber (sisi kanan) berbeda dengan target (sisi kiri) berarti disebut penugasan polymorphic (polymorphic assignment).
• Objek p yang dapat muncul dari penugasan polymorphic disebut objek polymorphic (polymorphic object)


Mekanisme Polymorphism

• Polimorfisme merupakan fitur yang terjadi karena interaksi konsep pewarisan dan dynamic binding.
• Semua objek yang muncul adalah acuan (reference) ke objek, bukan objek itu sendiri. Sehingga penugasan seperti p=r, p=s artinya mengacukan ulang alamat r ke p, alamat s ke p.


Mekanisme Pengacuan
P -----sebelum penugasa---(   Polygon
P -----sesudah penugasan---( Rectangle
Keterangan:  Sekali diciptakan objek tidak akan berubah tipenya, hanya acuan ke objek itu yang di arahkan ke objek-objek dengan tipe berbeda.

Batasan terhadap Poymorphism

• Pewarisan menuntut apakah suatu pencantolan polymorphism ke suatu acuan diijinkan.
• Dari contoh sebelumnya pengacuan seperti  p=r, p=s diijinkan karena semuanya memiliki tipe sumber yang merupakan turunan dari kelas target, artinya tipe sumber memenuhi conform thd kelas target.
• Tapi tidak untuk r=s karena s tidak memenuhi (conform) terhadap r.
Overriding dan Overloading

• Overriding, Terjadi apabila deklarasi method pada subkelas (subclass) sama (termasuk parameter) dengan method pada superkelas (superclass).
• Overloading,  Yakni penggunaan satu nama untuk beberapa method yang berbeda (berbeda parameter).

Overriding
• Sebuah method dikatakan meng-override method di kelas induknya jika di dalam subclass didefinisikan method yang memiliki nama, tipe kembalian dan daftar argumen yang persis sama.
• Subclass dapat mengesampingkan method yang didefinisikan dalam superclass dengan menyediakan implementasi baru dari method
Tersebut

Contoh Overriding



• Secara definitif kelas Manager mempunyai method yang bernama getDetails(), karena kelas Manager mewarisinya dari kelas Employee, tetapi kelas Manager mengubah implementasi dari method tersebut,
• dalam hal ini kelas Manager dapat dikatakan meng-Overriding method getDetails() dari kelas Employee.

Aturan Overriding

• Beberapa yang harus dipenuhi dalam overriding method sbb :
– Daftar argumen pada method harus sama dengan method yang di override
– Tipe kembalian method harus sama dengan method yang di override
– Access control method tidak boleh lebih ketat (retrictive) daripada method yang mengoverride
– Method yang meng-override tidak dapat melempar exception diluar exception yang dideklarasikan pada method yang di override.

Overloading
• Objek memungkinkan memiliki method yang sama namun dengan kegunaan dan fungsi yang berbeda.
• Perbedaan disini termasuk passing argumentnya dan nilai pengembalianya.
• Overloading artinya penggunaan satu nama untuk beberapa method yang berbeda (berbeda parameter).
• Overloading tidak hanya dapat dikenakan pada method, ketika kita membuat definisi kelas dengan lebih dari satu konstruktor sebenarnya
kita telah menggunakan prinsip overloading


Contoh Overloading:



• Dengan overloading maka suatu objek dapat memiliki satu method dengan fungsionalitas yang berbeda.



Kelas Abstrak (Abstract Class) dan Interface






Tweet

Jangan sampai ketinggalan postingan-postingan terbaik dari Update - Cara Blogging dan Java Netbeans . Berlangganan melalui email sekarang juga:

Atau sobat juga bisa follow Update - Cara Blogging dan Java Netbeans dengan mengklik tombol di bawah ini:

follow this blog

Artikel keren lainnya:

Ditulis oleh Personal pada tanggal Sunday, 26 June 2016

Newer Post
Older Post
Home
Subscribe to: Post Comments (Atom)

Followers

Copyright © 2015 Update - Cara Blogging dan Java Netbeans - Powered by Blogger
Versi Seluler
  • Jasa Pembuatan Website Berkualitas
  • Jasa Pembuatan Aplikasi
  • Jasa Pembuatan Website apps Builder
  • Kontraktor Interior
  • Kontraktor Interior jakarta
  • teax garden furniture
  • garden furniture
  • Cara Blogging
  • ebook