Document 9652611

Download Report

Transcript Document 9652611

Matakuliah : M0864/Programming I
Tahun
: 2009
Polymorphism
Pertemuan 9
Learning Outcomes
Pada akhir pertemuan ini, diharapkan
mahasiswa akan mampu:
– Mahasiswa dapat menerapkan konsep
penggunaan polymorphism pada GUI di
Java .
Bina Nusantara
Outline Materi
• Preview Polymorphism
• Abstract Class
• Abstract Method
Bina Nusantara
Preview Polymorphism
• Objek yang memiliki banyak bentuk (method).
• 1 fungsi dengan banyak implementasi.
• Mengunakan Abstract Method
menggunakan Abstract Class
dan
juga
Preview Polymorphism
•
Pada umumnya, ada 2 tipe polymorphism :
– Trivial Polymorphism : Overloading
– Pure Polymorphism : Overriding
•
Berdasarkan waktunya :
1. Static ( Compile Time ), dapat melalui :
 Generic
 Overload
2. Dynamic ( Run Time ) , dapat melalui :
 Class
• Inheritance
• Abstract
 Interface
–
Abstract Class
• Mendeklarasikan karakteristik yang umum dari subclass.
• Dideklarasi secara abstrak.
• Tidak dapat dibuat objeknya dengan operator new.
• Hanya digunakan sebagai superclass dari kelas-kelas
lainnya dan berupa bentuk abstrak.
• Dideklarasi dengan keyword abstract.
Abstract Class
• Sebuah template
dibawahnya.
atau
design
untuk
subclass
• Menyediakan fungsi yang abstrak juga.( abstract method
)
• Fungsi di override di subclass.
• Sebuah objek harus dapat mengimplementasikan semua
abstract method yang ada di abstract class.
Abstract Method
• Dummy Code Method atau Prototype Method.
• Dideklarasikan di dalam Abstract Class.
• Tidak ada implementasi.
• Tidak mempunyai isi koding didalam fungsinya.
• Diakhiri langsung dengan titik koma.
• Method yang harus di-override di subclass-nya.
• Dideklarasi dengan keyword abstract.
Abstract Method
Kelas turunan dari JPanel yang merupakan
design controller untuk form dan merupakan abstract class
karena memiliki 2 abstract method yang memiliki fungsi berbeda
(ada pada slide berikutnya)
Abstract Method
Lanjutan koding dari slide sebelumnya,
terdapat 2 fungsi abstrak yang namanya sama dan parameternya berberda (overloading)
 Kedua fungsi abstrak (hitung) harus wajib di –override di turunannya
(subclass)
 Untuk isi logika dari fungsi tersebut berada pada kelas turunannya
(subclass)
Abstract Method
•
Kelas turunannya dan memanggil objek yang dibuat.
Kedua fungsi hitung (Konversi) di Override pada kelas
Turunannya (DemoCalculate)
Referensi
• Introduction to Java Programming. 7ed. Liang. 2009. Chapter 10,
hal 369
• Java Software Solution. 5ed. Lewis & Loftus. 2007. Chapter 9, hal
511
• Polymophism
http://www.uweb.ucsb.edu/~cdecuir/Polymorphism.html
• Inheritance and polymorphism
http://home.cogeco.ca/~ve3ll/jatutor5.htm
• Polymorphism in Object Oriented Programming
http://en.wikipedia.org/wiki/Polymorphism_in_objectoriented_programming
Bina Nusantara