POLYMORPHISM (Overloading)

Slides:



Advertisements
Presentasi serupa
Pemrograman JAVA (TIB09)
Advertisements

Deklarasi Class Kelas pada Java dideklarasikan dengan menggunakan kata kunci class. Contoh : class Mobil { String warna; int thn_prod; } Mobil Data :
Pemrograman Berorientasi Objek
1.Overloading method 2.Konstruktor 3.Overloading konstruktor 1.Overloading method 2.Konstruktor 3.Overloading konstruktor.
POLIMORFISME Imam Fahrur Rozi 01.
OBJECT ORIENTED PROGRAMMING in JAVA
Pemrograman Berorientasi Objek
di OBJECT ORIENTED PROGRAMMING [OOP] Oleh H. SUMIJAN, Ir, M.Sc
SLIDE OTOMATIS PINDAH DALAM WAKTU 4-5 MENIT. A:kiriB:kanan Deklarasikan sebuah variabel dengan nama ‘isi’ yang mempunyai type array of double dengan ukuran.
Pemrograman Java Pewarisan / Inheritance Polimorfisme Pemrograman Java.
Method.
Overriding, Overloading, Polymorphism
POLIMORFISME 2 Imam Fahrur Rozi 01.
Pemrograman Berorientasi Obyek Oleh Tita Karlita
As’ad Djamalilleil Function (method) As’ad Djamalilleil
- PERTEMUAN 4 - PERULANGAN
OBJECT ORIENTED PROGRAMMING YANES HARDIANTO SUI Politeknik Manufaktur Astra 2011.
Inheritance Konsep Inheritance Protected Member
OOP Java 06 Polymorphism.
OOP Java - Tj Konsep Dasar OOP.
OOP Java Minggu 2b Dasar OOP. Class (1) Deklarasi class : [ *] class { [ *] } Cat : [] = optional, * = repeat 0-N.
Algoritma & Pemrograman 1
Class & Object Disusun Oleh: Reza Budiawan Untuk:
OBJEK dan KELAS Sutrisno PTIIK-UB.
Access Modifier.
Inheritance dan Kata Kunci static
Inheritance (Pewarisan)
POLYMORPHISM (KEBANYAKRUPAAN)
Encapsulation, Inheritance, Polymorphism
Pemrograman Berorientasi Object
Pemprograman Berorientasi Objek
Constructor dan Overloading
POLYMORPHISM (KEBANYAKRUPAAN)
METHOD DAN CONSTRUCTOR OVERLOADING
Pewarisan Disusun Oleh: Reza Budiawan Untuk:
BAB ENCAPSULATION ( Enkapsulasi )
MODIFIER JAVA.
Tugas Minggu Ke 9 PBO Siti Halisah
Constructor overloading
KELAS DAN OBJEK BAGIAN I Pertemuan 6.
Method.
MEMBUAT CLASS SENDIRI 2.
METHOD DAN CONSTRUCTOR OVERLOADING
As’ad Djamalilleil Function (method) As’ad Djamalilleil
Lebih Jauh tentang Class, Objek dan Method
Karakteristik Pemrograman Berorientasi Objek
BPJ – Pertemuan 13 OOP.
PBO Lanjutan Membuat Kelas.
POLYMORPHISM.
Overloading Menuliskan kembali method dengan nama yang sama pada suatu class. Tujuan : memudahkan penggunaan/pemanggilan method dengan fungsionalitas yang.
Pemrograman Berorientasi Object
Pilar Object Oriented Programming
Pemrograman Berorientasi Object
Praktikum 02 konstruksi class
Pilar Object Oriented Programming
DIKTAT PBO Oleh: Adam Mukharil B. S.Kom. BAB IV – CLASS (2)
Matakuliah : M0074/PROGRAMMING II Tahun : 2005 Versi : 1/0
Pemrograman Berorientasi Objek
STUDI KASUS.
Method Java Fundamental Syahrul Mauluddin S.Kom, M.Kom.
DIKTAT PBO Oleh: Adam Mukharil B. S.Kom. BAB III – CLASS (2)
Pilar Object Oriented Programming
Pemrograman Berorientasi Objek <PBO>
OOP ENKAPSULASI SMKN 2 SINGOSARI Kelas XI RPL.
E. Haodudin Nurkifli Universitas Ahmad Dahlan Pertemuan
Pertemuan 3 Class dan Objek (Lanjutan)
Dasar-dasar Pemrograman Berbasis Obyek. kelas Kelas pada java didefinisikan dengan menggunakan kata kunci class.
- PERTEMUAN 2- CONSTRUCTOR
Pertemuan 4 Praktek Pembuatan Program Class dan Objek (Lanjutan)
FONDASI PEMROGRAMAN & STRUKTUR DATA #8
Transcript presentasi:

POLYMORPHISM (Overloading) Pemrograman Berorientasi Objek

Pengantar Polymorphism adalah keadaan suatu entitas yang memiliki banyak bentuk. Contoh: Seorang wanita bisa mempunyai banyak peran, di kantor ia adalah karyawati, bagi suami ia berperan sebagai istri, bagi anak-anak ia adalah ibu Dalam OOP, polymorphism diimplementasikan dalam konsep Overloading dan Overriding CS 3213 2

Gambaran Polymorphism CS 3213

Overloading Method Suatu kelas dapat mengandung beberapa method dengan nama yang sama tetapi dengan komposisi argumen yang berbeda. Perhatikan Contoh berikut CS 3213 4

//file : LumbungPadi.java public class LumbungPadi{ public int persediaan = 0; public int padiDisimpan = 0; public int padiDiambil = 0; public void hitungPersediaan( ){ persediaan = padiDisimpan - padiDiambil; } public void simpanPadi(int tambahanPadi){ padiDisimpan = padiDisimpan + tambahanPadi; public void ambilPadi (int beratPadiYangDiambil){ padiDiambil = padiDiambil + beratPadiYangDiambil; public int hitungPersediaanPadi( ){ return persediaan; public void cetakPersediaan( ){ int persediaanPadiTerakhir = hitungPersediaanPadi( ); System.out.println("Persediaan di lumbung = " + persediaanPadiTerakhir); CS 3213

public int beratPanenan; public LumbungPadi lumbung; //file : Petani.java public class Petani{ public int beratPanenan; public LumbungPadi lumbung; public void lakukanPanen ( ){ beratPanenan = 150; } public void simpanPanenanDiLumbung(){ lumbung.simpanPadi(50); // overloading method public void simpanPanenanDiLumbung(int jumlahPanenan ){ lumbung.simpanPadi(jumlahPanenan); public void simpanPanenanDiLumbung(int jumlahPanenan, LumbungPadi lb){ lb.simpanPadi(jumlahPanenan); public void ambilPanenanDariLumbung(int panenanDiambil){ lumbung.ambilPadi( panenanDiambil); CS 3213

//file : KegiatanPanen.java public class KegiatanPanen{ public static void main(String[ ] args){ LumbungPadi lumbungDesaSukatani = new LumbungPadi ( ); LumbungPadi lumbungDesaSukamaju = new LumbungPadi( ); Petani pakBakri = new Petani( ); Petani daengBaso = new Petani( ); pakBakri.lumbung = lumbungDesaSukamaju; daengBaso.lumbung = lumbungDesaSukatani; pakBakri.lakukanPanen(); pakBakri.simpanPanenanDiLumbung(10); pakBakri.simpanPanenanDiLumbung(); pakBakri.simpanPanenanDiLumbung(40, lumbungDesaSukatani); pakBakri.ambilPanenanDariLumbung(10); daengBaso.lakukanPanen( ); daengBaso.simpanPanenanDiLumbung(90); lumbungDesaSukatani.cetakPersediaan( ); lumbungDesaSukamaju.cetakPersediaan( ); } CS 3213

Pada contoh di atas, pada kelas Petani Pada contoh di atas, pada kelas Petani.java terdapat overloading method yaitu: simpanPanenanDiLumbung(), yang akan melakukan proses penambahan nilai variabel padiDisimpan pada lumbung padi default sebesar 50 (kilogram); simpanPanenanDiLumbung(int jumlahPanenan) yang akan melakukan proses penambahan nilai variabel padiDisimpan pada lumbung padi default sebesar nilai yang dilewatkan ke method ( nilai variabel jumlahPanenan ); - simpanPanenanDiLumbung(int jumlahPanenan, LumbungPadi lb) yang akan melakukan proses penambahan nilai variabel padiDisimpan pada lumbung padi lb (belum tentu merujuk ke lumbung padi default). CS 3213

Aturan Overloading Method Nama method yang digunakan sama Komposisi argumen (tipe atau jumlah argumen) berbeda. Lihat contoh berikut: public set(int x){} public set(int x, String s){} public set(int y, String b){} Bentuk terakhir bukan overloading method karena komposisi argumennya sama dengan method bentuk kedua CS 3213

Overloading Konstruktor Konstruktor (konstruktor) adalah struktur mirip method yang berfungsi untuk membentuk suatu obyek. Konstruktor mempunyai ciri yaitu: o Mempunyai nama yang sama dengan nama class o Tidak mempunyai return type (seperti void, int, double, dan lain-lain) CS 3213

Overloading Konstruktor Contoh: public class Siswa { private int nrp; private String nama; public Siswa(int n, String m){ nrp=n; nama=m; } CS 3213

Overloading Konstruktor Suatu class dapat mempunyai lebih dari 1 konstruktor dengan syarat daftar parameternya tidak boleh ada yang sama. CS 3213

Overloading Konstruktor public class Siswa{ private int nim; private String nama; public Siswa(String m){ nim = 0; nama = m; } //overloading konstruktor public Siswa(int n, String m){ nim = n; CS 3213

Coba implementasikan diagram kelas berikut ke dalam kode program Latihan: Coba implementasikan diagram kelas berikut ke dalam kode program CS 3213

Coba implementasikan diagram kelas berikut ke dalam kode program Latihan: Coba implementasikan diagram kelas berikut ke dalam kode program CS 3213