Pemrograman Berorientasi. Abstract & Interface

dokumen-dokumen yang mirip
Bahasa Pemrograman 2.

:: 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:

Pemrograman Berorientasi. Class dan Obyek 2

Polymorphism (Polimorfisme)

Abstract Class dan Interface. Viska Mutiawani, M.Sc

Pemrograman Berorientasi. Inheritance

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

Konsep Pemrograman Berbasis Obyek

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

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

Gambar 1: Hirarki class

IT652 Pemrograman Berorientasi Aspek. Ramos Somya

Bahasa Pemrograman 2.

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

Inheritance dan Kata Kunci static

Bahasa Pemrograman 2.

IKG2I4 / Software Project I

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

Pewarisan, Polimorfisme, dan Interface

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

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

Tujuan. Pengertian Interface Mendeklarasikan Interface Pewarisan Interface Menggunakan Interface

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

Pemrograman Lanjut Review Class dan Object PTIIK

Pemrograman Berorientasi. Polimorfisme dan Binding

Pemrograman Berorientasi Objek

Bahasa Pemrograman 2.

CLASS, METHOD DAN MODIFIER

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

(INHERITANCE) Nurochman

ABSTRACT CLASS DAN INTERFACE

INTERAKSI ANTAR OBJECT

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

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

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

Bahasa Pemrograman :: Polimorfism and Abstraction

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

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

Pemrograman Berbasis Objek. Interface. Politeknik Elektronika Negeri Surabaya

PRAKTIKUM I Class dan Obyek

LAPORAN RESMI PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK MODUL 3 ABSTRAKSI

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

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

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

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

Object Oriented Programming (Class, Inheritance, Encapsulation dan Interface)

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

Pewarisan (Inheritance)

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

PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK UNTUK MULTI KELAS

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

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

ABSTRACT CLASS. Imam Fahrur Rozi

Bahasa Pemrograman :: Inheritance

MINGGU V : PBO (PEWARISAN)

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

KONSEP OOP: PEWARISAN / INHERITANCE

PERTEMUAN 3 OBJEK DAN CLASS

Pertemuan 4 Halaman 1/1. Class Inheritance

Konsep Dasar Pemrograman Berorientasi Objek

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

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan)

Inheritance (Pewarisan) Pengertian dasar inheritance

Pewarisan atau Inheritance

Pemrograman Web. Pemrograman Berorientasi Objek. 8 Adam Hendra Brata

Inheritance. Pertemuan 8 Pemrograman Berbasis Obyek

Praktikum 3 Konsep Class, Attribute dan Method

LAPORAN RESMI INHERITANCE

Modul Bahasa Pemrograman 1

Pemrograman Berbasis Objek Inheritance

TPI4202 e-tp.ub.ac.id

Pemrograman Lanjut. Interface

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

Pemrograman Lanjut. Class : Deeper Look 2

MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD

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

Review PBO. Ramos Somya

Pemrograman Web. Pemrograman Berorientasi Objek. Adam Hendra Brata

Overriding, Overloading, Polymorphism. Pertemuan 10 Pemrograman Berbasis Obyek Dr. Rodiah

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

ABSTRACT & INTERFACE. Pemrograman Lanjut Herman Tolle

Mata Kuliah : Pemrograman Berbasis Objek Pertemuan : 11

Inheritance (Pewarisan Sifat) Imam Fahrur Rozi

subclass class manapun private default protected public package yang sama

IKG2I4 / Software Project I

PEMROGRAMAN BERORIENTASI OBJEK KONSEP PBO

Object Oriented Programming 1

Dalam penulisan sebuah kelas di java, ada beberapa aturan yang biasanya dilakukan. Nama kelas tidak menggunakan tanda spasi, dash (-) dan tanda lain.

Inheritance. Topik 5/17/2013

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

MEMBUAT KELAS SENDIRI. Dewi Sartika, M.Kom

PEMROGRAMAN BERORIENTASI OBJEK

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

Konsep Pemrograman Berorientasi Obyek. Maria Ulfah S Nurochman

Membuat dan Menggunakan Class

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

JOBSHEET 8 INHERITANCE (PEWARISAN)

Transkripsi:

Pemrograman Berorientasi Obyek Abstract & Interface anton@ukdw.ac.id

Latar Belakang Kita sudah mengenal pewarisan, bahwa class anak akan selalu mendapat warisan atribut dan behavior dari class induk Class anak dapat mengoverridenya (tapi tidak wajib) Kadang kala dibutuhkan class yang sebagian methodnya WAJIB dioverride di class anak!

Abstrak Abstrak = tidak memiliki implementasi Class abstract berarti class tersebut terdapat method yg tidak memiliki implementasi (kode program), hanya judul method dan parameternya

Abstract class abstract class <NamaClass> { <variabel class> <konstruktor> <method biasa> <method abstract> }

Contoh method dgn implementasi

Contoh method abstract

Abstract Class Terdiri dari satu atau lebih abstract method Bisa memiliki static method Bisa memiliki static field Bisa memiliki variabel class biasa Abstract method harus dibuat implementasinya oleh class turunannya Abstract class tidak dapat dibuat instancenya

Contoh abstract class

Abstract Class Misalkan method bersuara()pada class Binatang Method bersuara() seharusnya dioverride karena tidak memiliki bentuk di class Binatang (-> tergantung jenis binatangnya) Untuk memaksa method bersuara() harus/ wajibdioverride, maka method tersebut perlu dibuat menjadi abstract. Sedangkan class nya dibuat abstract class

Abstract Class 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 Class Jika kita paksa untuk memiliki kode implementasi program seperti ini: public abstract String bersuara() { System.out.println( weee ); } Maka akan terjadi error: abstract methods cannot have a body

Abstract Class 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 Class Abstract class ini tidak bisa diinstansiasi (karena memiliki method yang abstract) Questions: Apakah dalam sebuah abstract class boleh tak memiliki abstract methods sama sekali? Boleh Bagaimana jika sebuah abstract class memiliki constructor? Bagaimana fungsi dan pemakaian constructor tersebut? Diletakkan pada class anak

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

Contoh yang salah Pada class abstract tidak ada method abstrak!

Contoh yang benar Pada class abstract sebaiknya ada method abstrak!

Contoh

Interface Kumpulan konstanta dan method yang tidak memiliki implementasi Interface seperti kontrak dengan ikatan implements Suatu class dapat meng-implementasikan lebih dari satu interface Class yang mengimplementasikan suatu interface harus membuat implementasi dari method-method yang ada pada interface Seluruh method pada interface secara otomatis bersifat public, method pada class yang mengimplementasikan interface harus diset ke public

Jika class implementasi tidak diset ke public

Contoh interface

Contoh interface

Contoh Interface public interface mp3player { public static final int STATUS; //final dan static List TRACKLIST; void playtrack(); void stoptrack(); void volumeup(); void volumedown(); }

Interface 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 Fungsinya adalah membuat suatu class yang bisa diimplementasikan oleh berbagai class lain bahkan yang tidak berelasi sama sekali. Contoh: public interface kamera { public void setpixel(float pixel); public void ambilgambar(); }

Interface Suatu class yang mengimplementasi suatu interface, memiliki kewajiban untuk membuat implementasi method-method yang disediakan oleh interface tersebut Implements = contract Pada interface didefinisikan method signature yang harus diikuti pada class yang mengimplementasi interface tersebut

Interface 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). Tidak bisa jika berupa variabel class Konstanta ini juga diwariskan kepada class yang mengimplementasikan interface tersebut.

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

Interface Interface dapat menerima warisan dari interface lain (bisa lebih dari satu) Class bisa mengimplements lebih dari satu interface Class yang mengimplementasikan interface harus mengimplementasikan semua method interface Jika tidak, maka class tersebut harus dideklarasikan sebagai sebuah abstract class

Pewarisan Interface public interface NamaInterface extends InterfaceA, InterfaceB{... }

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

Interface vs abstract Penggunaan keyword extends dan implements adalah salah satu perbedaan dari keduanya. Semuamethods di interface bersifat abstract, sedangkan methods di abstract class bisa tidak ada. abstract class bisa mengimplementasikan interface, tapi interface tak bisa mewarisi abstract class. abstract dapat memiliki variabel kelas, interface hanya dpt berupa konstanta

Extends vs Interface Suatu class hanya bisa meng-extends satu class lainnya

Extends vs Interface Satu class bisa meng-implements lebih dari satu interface

Extends vs Interface Suatu interface dapat meng-extends lebih dari satu interface lainnya

Contoh-contoh interface A extends C class M implements B, A class N extends M

Konversi Konversi dapat dilakukan dari type class menjadi type interface dengan syarat class tersebut mengimplementasi interfacenya

Contoh Jenis kucing Jenis anjing

Contoh interface

NEXT Tes Kecil I Polimorfisme