POLIMORPHISM

14
Adharul Muttaqin POLIMORPHISM Adharul M - [email protected]

description

POLIMORPHISM. Adharul Muttaqin. Kura-Kura Serba Bisa. Perhatikan code berikut (class KuraKura , Sayap , Roket , Kaki sudah dibuat ): class KuraKuraTest { public static void main(String[] args ){ KuraKura turtle=new KuraKura (); turtle.bergerak (); Sayap sayap =new Sayap (); - PowerPoint PPT Presentation

Transcript of POLIMORPHISM

Page 1: POLIMORPHISM

Adharul Muttaqin

POLIMORPHISM

Adharul M - [email protected]

Page 2: POLIMORPHISM

Kura-Kura Serba BisaPerhatikan code berikut (class KuraKura, Sayap, Roket,

Kaki sudah dibuat):class KuraKuraTest{

public static void main(String[] args){

KuraKura turtle=new KuraKura();

turtle.bergerak();

Sayap sayap=new Sayap();

Roket roket=new Roket();

Kaki kaki=new Kaki();

turtle.setAlatGerak(sayap);

turtle.bergerak();

turtle.setAlatGerak(roket);

turtle.bergerak();

turtle.setAlatGerak(kaki);

turtle.bergerak();

}

}

Hai saya kura – kura

Saya mampu bergerak

- Menyiapkan sayap

- Menyiapkan roket

- Menyiapkan kaki

Sekarang saya pakai Sayap@190d11

Saya bisa terbang

Sekarang saya pakai Roket@a90653

Saya bisa terbang antar benua

Sekarang saya pakai Kaki@de6ced

Saya bisa jalan-jalan meski lambat

Hai saya kura – kura

Saya mampu bergerak

- Menyiapkan sayap

- Menyiapkan roket

- Menyiapkan kaki

Sekarang saya pakai Sayap@190d11

Saya bisa terbang

Sekarang saya pakai Roket@a90653

Saya bisa terbang antar benua

Sekarang saya pakai Kaki@de6ced

Saya bisa jalan-jalan meski lambatAdharul M - [email protected]

Page 3: POLIMORPHISM

OutlinePengertian PorlimorphismContoh Polimorphism di Java

Adharul M - [email protected]

Page 4: POLIMORPHISM

Pengertian PolimorphismSecara umum, polimorphism dimaksudkan

pada kemampuan untuk muncul dalam berbagai bentuk

Polymorphism di Java:Kemampuan suatu refference variable untuk

bertindak (melakukan method) sesuai dengan object yang dipegangnya.

Memungkinkan berbagai object dari berbagai subclass diperlakukan sebagai sebuah object super class. Super class yang dimaksud akan melakukan tindakan sesuai dengan object subclass tersebut.

Adharul M - [email protected]

Page 5: POLIMORPHISM

Contoh PolymorphismDiberikan sebuah parent class Shape serta

beberapa subclass Circle, Rectangle, dan Triangle. Polymorphism memungkinkan programmer mendefinisikan method getLuas() pada setiap subclass. Apapun object yang dibuat, getLuas() akan memberikan hasil yang benar

konsep Override

Adharul M - [email protected]

Page 6: POLIMORPHISM

Contoh #1: Polymorphism pada JavaDiberikan parent class Person dan child

class Student, kemudian subclass yang lain adalah Employee.

Hierarki class-nya adalah sbb:

Adharul M - [email protected]

Page 7: POLIMORPHISM

Contoh #1: Polymorphism pada JavaKita perhatikan method getName pada super class Person

yang dioverride pada subclass Student dan Employee. public class Student {public String getName(){System.out.println(“Student Name:” + name);return name;}

}public class Employee {public String getName(){System.out.println(“Employee Name:” + name);return name;}

}

Adharul M - [email protected]

Page 8: POLIMORPHISM

Contoh #1: Polymorphism pada JavaDi Java, kita dapat membuat sebuah

refference yang bertype super class (Person) pada sebuah object subclass (Student).

public static main( String[] args ) {

Student studentObject = new Student();

Employee employeeObject = new Employee();

Person ref = studentObject;

//Person merefer ke object dg type student

String name = ref.getName();

//Memanggil getName() milik obeject Student

}

Adharul M - [email protected]

Page 9: POLIMORPHISM

Contoh #1: Polymorphism pada JavaPerhatikan main method, saat kita panggil

getName dari object ref, method getName yang dipanggil adalah milik object Student.

Jika kita assign variable ref ke object Employee, maka method getName milik Employee yang dipanggil

Adharul M - [email protected]

Page 10: POLIMORPHISM

Contoh #1: Polymorphism pada JavaTambahkan di main method kode berikut

ref = employeeObject;

//Person ref merefer ke object Employee

String temp = ref.getName();

//getName() milik Employee yang dipanggil

System.out.println( temp );

Adharul M - [email protected]

Page 11: POLIMORPHISM

Contoh #2: Polymorphism pada JavaContoh lain implementasi polymorphism

adalah dengan melakukan passing sebuah refference sebagai parameter input sebuah method.

Misalkan kita tambahkan sebuah static method printInformation yang menggunakan type Person sebagai parameter.

public static printInformation( Person p ){// It will call getName() method of the// actual object instance that is passedp.getName();

}

Adharul M - [email protected]

Page 12: POLIMORPHISM

Contoh #2: Polymorphism pada JavaKita dapat menggunakan type Employee

ataupun Student untuk dijadikan input method printInformation. Mengapa ? Karena Employee dan Student adalah Person

public static main( String[] args ){

Student studentObject = new Student();

Employee employeeObject = new Employee();

printInformation( studentObject );

printInformation( employeeObject );

}

Adharul M - [email protected]

Page 13: POLIMORPHISM

KeuntunganSimplicityJika kita memerlukan menulis suatu code yang

dapat digunakan berbagai jenis type, code hanya cukup berinteraksi dengan base class (parents) dan dapat mengabaikan detail yang lebih spesifik yang berada pada subclass.

Memudahkan penulisan program dan memudahkan pihak lain

ExtensibilitySubclass yang lain dapat dibuat sebagai type

baru dan object dari class baru tersebut masih kompatible dengan kode yang sudah ada.

Adharul M - [email protected]

Page 14: POLIMORPHISM

Tugas Pra UTSSuatu perusahaan System Developer mempunyai

banyak pegawai. George Harry, Adin Chandra, dan Albertina adalah programmer pada perusaahan tersebut yang digaji sebesar gaji pokok. Baikhaqi sebagai seorang sales berhak diberi gaji berupa gaji pokok ditambah bonus. Sebagai seorang manajer, Bernard mendapatkan gaji pokok plus tunjangan. Dengan pendekatan OOP, buat program penggajian

(Payroll) sederhana yang dapat mencetak atau menampilkan seluruh gaji pegawai perusahaan tersebut! Lengkapi pertanyaan berikut:Gambarkan desain class diagramnya!Implementasikan dengan Java!Buatlah Test Unitnya!

Adharul M - [email protected]