Bahasa Pemrograman 2.

dokumen-dokumen yang mirip
Pemrograman Berorientasi. Abstract & Interface

:: abstract class + interface. :: abstract class

PEWARISAN. Disusun Oleh: Reza Budiawan. Untuk: Tim Dosen Algoritma & Pemrograman Lanjut

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut:

Konsep Pemrograman Berbasis Obyek

Bahasa Pemrograman 2.

Pemrograman Berorientasi. Inheritance

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

Polymorphism (Polimorfisme)

3/31/2011. Tujuan. Inheritance, Polymorphism,& Interfaces. Inheritance / pewarisan. Inheritance / pewarisan. Inheritance / pewarisan

Inheritance dan Kata Kunci static

Pemrograman Berorientasi. Class dan Obyek 2

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

IT652 Pemrograman Berorientasi Aspek. Ramos Somya

Gambar 1: Hirarki class

1. Keyword mana yang memiliki fungsi sama dengan keyword this dan menyediakan reference ke atribut turunan dari objek? super

Method yang ada pada parent class(superclass) didefinisikan kembali oleh kelas anaknya (subclass).

Tujuan. Pengertian Interface Mendeklarasikan Interface Pewarisan Interface Menggunakan Interface

Bahasa Pemrograman 2.

Modul Bahasa Pemrograman 1

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

Pemrograman Berbasis Objek. Interface. Politeknik Elektronika Negeri Surabaya

ABSTRACT CLASS DAN INTERFACE

1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini:

Bahasa Pemrograman 2.

Pemrograman Berorientasi. Polimorfisme dan Binding

Abstract Class dan Interface. Viska Mutiawani, M.Sc

Pewarisan atau Inheritance

Inheritance (Pewarisan Sifat) Imam Fahrur Rozi

Pewarisan, Polimorfisme, dan Interface

CLASS, METHOD DAN MODIFIER

(INHERITANCE) Nurochman

Apa yang menjadi output potongan kode diatas? Error karena tidak ada String yang di-passing kedalam konstruktor Bapak

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Bahasa Pemrograman :: Polimorfism and Abstraction

LAPORAN RESMI PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK MODUL 3 ABSTRAKSI

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

5/23/12. Inheritance. Pengertian inheritance Deklarasi inheritance Single inheritance Multilevel inheritance Access Control super keyword

IKG2I4 / Software Project I

BAB VIII CLASS ABSTRACT & CLASS INTERFACE. //abstract class bisa, kelas biasa bisa System.out.println("Ini nama");

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom

Inheritance (Pewarisan) Pengertian dasar inheritance

Pemrograman Lanjut Review Class dan Object PTIIK

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan)

Pewarisan Sifat Objek. Nur Hasanah, M.Cs

ABSTRACT CLASS. Imam Fahrur Rozi

Pemrograman Berorientasi Objek Polimorphisme dan Serious Polimorphisme. Adam Mukharil Bachtiar Teknik Informatika UNIKOM

PRAKTIKUM I Class dan Obyek

MINGGU V : PBO (PEWARISAN)

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK UNTUK MULTI KELAS

Object Oriented Programming 1

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

MODUL 3. Inheritance, Abstract Class, Interface TUJUAN PRAKTIKUM LANDASAN TEORI. A. Inheritance

Pemograman Berorientasi Objek. Week 3 Abstrak dan Interface dalam suatu kelas

JOBSHEET 8 INHERITANCE (PEWARISAN)

Composition dan Inheritance

Keyword this untuk memanggil private String pengarang; private String judul;

Overriding. Subclass yang berusaha memodifikasi tingkah laku yang diwarisi dari superclass. Tujuan: subclass memiliki tingkah laku yang lebih

INHERITANCE. Gambar 1. Kelas Hierarki Java

LAPORAN RESMI INHERITANCE

Object Oriented Programming (OOP) --Inheritance- Saniati STMIK Teknokrat, Bandar Lampung

Bahasa Pemrograman :: Inheritance

Pemrograman Berorientasi Objek

Pewarisan (Inheritance)

Mata Kuliah : Pemrograman Berbasis Objek Pertemuan : 11

KONSEP OOP: PEWARISAN / INHERITANCE

subclass class manapun private default protected public package yang sama

Inheritance. Pertemuan 8 Pemrograman Berbasis Obyek

8 - Overriding dan Overloading

1.Tujuan. 2. Latar Belakang. Mendefinisikan superclasses dan subclasses Override method dari superclasses Membuat method final dan class final

Pemrograman Berorientasi Objek / Object Oriented Programming / (OOP) Nur Hasanah, M.Cs

Konsep Dasar Pemrograman Berorientasi Objek

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

PEWARISAN SIFAT OBYEK

PEMROGRAMAN BERORIENTASI OBJEK

BAB II TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT

Pemrograman Berbasis Objek Inheritance

Pemrograman Berorientasi Objek Danu Wira Pangestu

Pemrograman Lanjut. Constructor. Aryo Pinandito, ST, M.MT Team Teaching Pemrograman Lanjut

Pemrograman Berorientasi Objek (PBO) By : Jeffry Montolalu, ST PERTEMUAN XII KELAS DAN OBYEK

BAB IV KONSEP PEMROGRAMAN BERORIENTASI OBJEK

Review PBO. Ramos Somya

Bahasa Pemrograman 2.

JOBSHEET POLIMORFISME

Pemrograman Web. Pemrograman Berorientasi Objek. Adam Hendra Brata

Pemrograman Web. Pemrograman Berorientasi Objek. 8 Adam Hendra Brata

Inheritance. Topik 5/17/2013

IKG2I4 / Software Project I

Praktikum 6 Abstract, Interface, Overloading, Overriding, dan Package

Encapsulation (Encapsulasi) Minggu 5 Pemrograman Berorientasi Objek Alfa Faridh Suni

7 Inheritance. + berjalan() + berhenti PENDAHULUAN

INTERAKSI ANTAR OBJECT

Pertemuan 4 Halaman 1/1. Class Inheritance

PEWARISAN D E W I S A R T I K A, M. K O M

ABSTRACT & INTERFACE. Pemrograman Lanjut Herman Tolle

[Lanjutan] Nurochman

LAPORAN V PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK

Dengan menggunakan encapsulation kita dapat membatasi akses langsung suatu class atau program kecuali melalui suatu method yang sudah diberikan.

Transkripsi:

Bahasa Pemrograman 2 Abstract & Interface anton@ukdw.ac.id

Abstract t Class [1] Saat kita membuat sebuah superclass, kita tahu bahwa kita dapat menurunkan semua metode yang dimilikinya pada class anaknya. a Atau kalau kita butuh metode tersebut diperbarui, kita tinggal melakukan override pada metode tersebut pada subclassnya. Tapi ada kasus dimana ada satu/lebih Tapi ada kasus dimana ada satu/lebih metode saja yang harus dioverride

Abstract t Class [2] Misalkan method bersuara() pada class Binatang (contoh pertemuan kemarin) Method bersuara seharusnya dioverride karena tidak memiliki bentuk di class binatang (-> tergantung jenis binatangnya) Untuk membuat method bersuara harus dioverride, maka method tersebut perlu dibuat menjadi abstract. abstract = tak berbentuk.

Abstract t Class [3] Penulisan abstract method adalah sebagai berikut: public abstract String bersuara(); Untuk selanjutnya, method ini disebut sebagai abstract method atau prototype method Dapat kita lihat bahwa method bersuara: tidak memiliki tubuh /implementasi method. menggunakan keyword abstract.

Abstract t Class [4] Jika kita paksa untuk memiliki tubuh program seperti ini: public abstract String bersuara() { System.out.println( weee ); } Maka akan terjadi error: abstract methods cannot have a body

Abstract t Class [5] Apabila abstract method bersuara tadi kita tambahkan ke class Binatang yang sudah kita buat, maka akan muncul error: Binatang is not abstract and does not override abstract method bersuara() in binatang Pemecahannya adalah dengan mengubah class Binatang menjadi sebuah abstract class. (Bila ada abstract methods dalam satu class, maka class tersebut harus abstract juga)

Abstract t Class [6] abstract class Binatang { public abstract String bersuara(); public void makan(int x) { System.out.println("Makanmakan"); } } Binatang abstract class Anjing Kucing

Abstract t Class [7] Abstract class ini tidak bisa diinstansiasi (karena memiliki method yang abstract) Questions: Apakah dalam sebuah abstract t class boleh tak memiliki abstract methods sama sekali? Bagaimana jika sebuah abstract class memiliki constructor? Bagaimana fungsi dan pemakaian constructor tersebut?

Constructor of Abstract Class Setiap class dalam Java pasti memiliki konstruktor secara default!

Contoh yg Error Tidak ada method abstrak!

Contoh yang benar

Contoh

Interface Interface: Kumpulan fungsi/konstantayang t tidak berisi i implementasi Contoh: public interface mp3player { public static final int STATUS; List TRACKLIST; //final dan static void playtrack(); void stoptrack(); void volumeup(); void volumedown(); }

Interface[1] Interface adalah sebuah blok yang berisi deklarasi metode untuk diimplementasikan di class lain. Tidak ada tubuh method Berarti semua metode dalam interface adalah abstract. Tapi pada pendeklarasiannya tidak perlu menggunakan keyword abstract.

Interface[2] Fungsinya adalah membuat suatu class yang bisa diimplementasikan oleh berbagai class lain yang tidak berelasi sama sekali. Contoh: public interface kamera { public void setpixel(float pixel); public void ambilgambar(); }

Interface[3] Interface digunakan untuk mendukung multiple inheritance (satu class memiliki superclass lebih dari satu) Selain bisa mendeklarasikan method abstract, di dalam interface juga dapat diberikan attribute final (konstanta). Konstanta ini juga diwariskan kepada class yang mengimplementasikan interface tersebut.

Pewarisan Interface Suatu interface juga dapat mewarisi interface yang lain, seperti pewarisan biasa public interface NamaInterface extends InterfaceA, InterfaceB{... }

Interface public class Handphone implements MP3Player, GPS, InternetDevice { }

Interface Class yang mengimplementasikan suatu interface harus mendeklarasikan seluruh method yang ada di interface. Jika tidak maka class tersebut harus dideklarasikan sebagai sebuah abstract class

Bentuk Umum Interface

Menggunakan Interface class NamaKelas [extends NamaKelasSuper ] implements NamaInterface1, NamaInterface2 {... }

Contoh lain Interface

Mengapa Interface Mengapa dibutuhkan interface? Dalam bahasa pemrograman lain seperti C++, dikenal istilah multiple inheritance, artinya sebuah objek bisa diturunkan dari dua atau lebih objek berbeda. Misalnya, objek X memiliki super kelas A dan B. Pada Java, hal ini tidak dimungkinkan, karena objek hanya bisa extends dari 1 objek saja, dan disinilah interface Java menjadi solusinya

Aturan Interface Kl Kelas yang mengimplementasikan ik interface, hanya mewarisi ii konstanta dari kelas interface, tidak seperti kelas turanan yang semua anggota baik variabel maupun metode akan diwariskan ke anaknya. Kelas yang mengimplementasikan intrerface tidak mewarisi metode yang bukan interface, yakni ikl kelas yang memiliki implementasi pada kelas interface. Pada kelas turunan, akan diwarisi semua fungsi yang ada baik yang abstrak maupun yang ada imptementasinyai pada super kl kelasnya. Hirarki kelas independen, yaitu kelas interface dengan kelas yang p, y g y g mengimplementasikannya bisa saling tidak berelasi.

Interface vs abstract[1] t[1] Penggunaan keyword extends dan implements adalah salah satu perbedaan dari keduanya. Semua methods di interface itu abstract, tapi hanya beberapa atau mungkin hanya satu methods yang abstract di abstract class. abstract class bisa mengimplementasikan interface, tapi interface tak bisa mewarisi abstract bt t class. abstract dapat mendeklarasikan variabel instan, interface hanya dpt berupa konstanta t

Exercise Terdapat dua class, A dan B. Class A mendapatkan atribut dari class B. Karena itu class A merupakan class B, atau class B merupakan class A. Jika class A memiliki atribut a1 dan a2, method geta1(), geta2(). Class B memiliki atribut b1 dan b2, method getb1(), getb2(). Tuliskan kodenya dalam Java

Exercise

Exercise Dari diagram relasi kelas tersebut, misalkan sebuah obyek (z) () dibuat dari kelas F, tentukan class dari method printline() yang dipanggil: z.printline(1); z.printline(2, OOP ); z.printline( Java ); z.printline( OOP, Java );

Exercise

Apa outputnya? Exercise

Polimorfisme NEXT