Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Struktur Data Oleh: Suhendro

Presentasi serupa


Presentasi berjudul: "Struktur Data Oleh: Suhendro"— Transcript presentasi:

1 Struktur Data Oleh: Suhendro
Polymorphism Struktur Data Oleh: Suhendro

2 Apa itu Polymorphism ? Polymorphism adalah kemampuan untuk menangani atau berinteraksi dengan object-object dari class yang berbeda dengan cara yang sama

3 Polymorphism Melalui Inheritance

4 Person Mahasiswa Dosen
name: String birthDate: Date noKtp: String address: String +setName(String name): void +getName(): String ... Mengakses Mahasiswa atau Dosen dapat melalui Class Person Mahasiswa nim: String prodi: String +setNim(String nim): void +getNim(): String ... Dosen nik: String nidn: String prodi: String +setNik(String nik): void +getNik(): String ... Class Person merupakan base/parent class dari class Mahasiswa dan Dosen Kita bisa menyebut: Mahasiswa adalah Person Dosen adalah Person Oleh karena itu, kita dapat memperlakukan Mahasiswa dan Dosen selayaknya Person Class yang berbeda

5 Contoh Person mhs = new Mahasiswa(); Person dosen = new Dosen();
Variabel mhs dan dosen berisi object yang berasal dari class Mahasiswa dan Dosen. Namun cara memperlakukan atau mengaksesnya dengan cara yang sama, yaitu keduanya dianggap sebagai Person Karena object di mhs dan dosen adalah Person, maka tidak dapat menggunakan method-method yang ada di Mahasiswa atau Dosen

6 Contoh mhs.getName(); dosen.setName(“Ali”); dosen.getAddress();
Person mhs = new Mahasiswa(); Person dosen = new Dosen(); mhs.getName(); dosen.setName(“Ali”); dosen.getAddress(); mhs.setNoKtp(“12”); mhs.getBirthDate(); mhs.getNim(); dosen.getNidn(); mhs.setProdi(“SIF”); Hanya method atau attribute yang tersedia di class Person

7 Polymorphism Melalui Interface

8 <<interface>>
DapatBerlari +sprint(): void +marathon(): void Mengakses Mahasiswa atau Dosen dapat melalui interface ini, karena kedua class tersebut pasti memiliki method yang diwariskan oleh interface tersebut Mahasiswa nim: String prodi: String +sprint(): void +marathon(): void +setNim(String nim): void +getNim(): String ... Dosen nik: String nidn: String prodi: String +sprint(): void +marathon(): void +setNik(String nik): void +getNik(): String ... Class Mahasiswa dan Dosen sekarang meng-implements interface DapatBerlari Mahasiswa dan Dosen memiliki dua kemampuan (method) yang harus diimplementasi, yaitu: method sprint() dan marathon() Oleh karena itu, Mahasiswa dan Dosen dapat diakses melalui interface DapatBerlari Class yang berbeda

9 Contoh DapatBerlari mhs = new Mahasiswa();
DapatBerlari dosen = new Dosen(); Variabel mhs dan dosen berisi object yang berasal dari class Mahasiswa dan Dosen. Class Mahasiswa dan Dosen wajib mengimplementasi method sprint() dan marathon() namun dapat dengan cara yang berbeda Oleh karena itu Mahasiswa dan Dosen memiliki kemampuan yang sama, yaitu DapatBerlari

10 Contoh mhs.sprint(); dosen.sprint(); dosen.marathon();
DapatBerlari mhs = new Mahasiswa(); DapatBerlari dosen = new Dosen(); mhs.sprint(); dosen.sprint(); dosen.marathon(); mhs.marathon (); mhs.getNim(); dosen.getNidn(); mhs.setProdi(“SIF”); Hanya method yang tersedia di interface DapatBerlari

11 Latihan Cek dokumentasi untuk java.util.Scanner. Parameter input berikut ini, yang manakah dapat dijadikan parameter input ? File FileInputStream FileReader Jelaskan! Cek dokumentasi java.io.InputStream, apakah bisa membuat object dari java.io.InputStrem ? Cek dokumentasi java.io.BufferedInputStream, class yang apa saja yang dapat dijadikan parameter input untuk constructor-nya ?


Download ppt "Struktur Data Oleh: Suhendro"

Presentasi serupa


Iklan oleh Google