Abstract Class dan Interface. Viska Mutiawani, M.Sc

dokumen-dokumen yang mirip
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Gambar 1: Hirarki class

Pemrograman Berorientasi. Abstract & Interface

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

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

Pewarisan, Polimorfisme, dan Interface

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

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

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

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

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

:: abstract class + interface. :: abstract class

IT652 Pemrograman Berorientasi Aspek. Ramos Somya

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

Bahasa Pemrograman :: Polimorfism and Abstraction

BAB II VARIABEL DAN TIPE DATA

Polymorphism (Polimorfisme)

2 TIPE DATA DAN VARIABEL

Composition dan Inheritance

IKG2I4 / Software Project I

Pemrograman Berorientasi. Inheritance

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

Inheritance dan Kata Kunci static

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

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

Pemrograman Berorientasi. Class dan Obyek 2

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

IF PEMROGRAMAN LANJUT EXCEPTION. Oleh : Andri Heryandi, M.T.

KONSEP OOP: PEWARISAN / INHERITANCE

Bahasa Pemrograman 2.

PRAKTIKUM 6 EXCEPTION

Pewarisan Sifat Objek. Nur Hasanah, M.Cs

Percobaan 6 Exception

IKG2I4 / Software Project I

PERCOBAAN 6 EXCEPTION

LAPORAN RESMI INHERITANCE

Review PBO. Ramos Somya

Pemrograman Berorientasi Object

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

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

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

03/04/2018. Pemrograman Berorientasi Object

Other OOP Basic. Viska Mutiawani, M.Sc. 1 Viska Mutiawani - Informatika FMIPA Unsyiah

Praktikum 3 Konsep Class, Attribute dan Method

PERTEMUAN 3 OBJEK DAN CLASS

Membuat dan Menggunakan Class

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

Definisi Eksepsi (exception)

KONSEP OOP: PEWARISAN / INHERITANCE

Other OOP Basic. Viska Mutiawani, M.Sc

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

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

PRAKTIKUM I Class dan Obyek

Bahasa Pemrograman 2.

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

Pertemuan 4 Halaman 1/1. Class Inheritance

ABSTRACT & INTERFACE. Pemrograman Lanjut Herman Tolle

Pemrograman Berorientasi Objek Danu Wira Pangestu

Bahasa Pemrograman 2.

Modul Bahasa Pemrograman 1

Inheritance (Pewarisan) Pengertian dasar inheritance

CLASS, METHOD DAN MODIFIER

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

Penjebakan Eksepsi. Nur hasanah, M.Cs

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan)

MODUL 9 EXCEPTION HANDLING

Pewarisan (Inheritance)

PEMROGRAMAN JAVA : EXCEPTION

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom

Bahasa Pemrograman :: Inheritance

2. Pilih instruksi yang dapat digunakan dalam method actionperformed untuk membedakan antara tombol buttonone dan buttontwo.

Algoritma Pemrograman 1

Variabel dengan tipe dasar hanya dapat menyimpan sebuah nilai

Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO. Ramos Somya

Sesi 8. Event Handling & Exception Handling. Tujuan Intruksional

Tujuan Intruksional. Mampu menjelaskan tentang event handling Mampu menjelaskan tentang method Mampu menggunakan event handling Mampu membuat method

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

PRAKTIKUM 17 MENANGANI EXCEPTION

(INHERITANCE) Nurochman

Jelaskan tentang konsep Cohesion & Coupling!

PEMAHAMAN DASAR DASAR JAVA

Inheritance. Topik 5/17/2013

Pemrograman Berbasis Objek Inheritance

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

Konsep Dasar Pemrograman Berorientasi Objek

Pemograman Berorientasi Objek. Week 4 Initialization dan Instance dalam Kelas

Pemrograman Berorientasi Objek

PEWARISAN SIFAT OBYEK

SILABUS MATA KULIAH PEMROGRAMAN JAVA

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

PEMROGRAMAN JAVA. Petunjuk Penulisan Program Token Aturan Penamaan Identifier Lingkungan /Scope dari variabel Tipe Data (i) Yoannita

Konsep Lanjut Pemrograman Objek

EXCEPTION. 2. Pada kondisi bagaimana klausa finally tidak akan dieksekusi? Kode didalam block try memiliki statement return

Inheritance. Pertemuan 8 Pemrograman Berbasis Obyek

Badiyanto, S.Kom., M.Kom. PBO java

LAPORAN RESMI PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK MODUL 3 ABSTRAKSI

A. TUJUAN PEMBELAJARAN 1. Mengetahui cara menangani exception dengan cara melempar exception. 2. Mengetahui cara membuat sendiri class exception.

Exception Handling. Oleh : Agus Priyanto, M.Kom

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

LAPORAN RESMI PRAKTIKUM BAHASA PEMROGRAMAN

Transkripsi:

Abstract Class dan Interface Viska Mutiawani, M.Sc

Konsep Penting Abstract class Abstract method Interface Implements Final Static Exception

Contoh Polimorfisme Lihat contoh program yang disediakan pada polimorfisme.

Method getarea() pada Shape Apa yang terjadi jika: public class TestShape { public static void main(string[] args) { // Constructing a Shape instance poses problem! } } Shape s3 = new Shape("green"); System.out.println(s3); System.out.println("Area is " + s3.getarea()); Method getarea() akan bermasalah jika shapenya belum diketahui bentuk apa. Untuk mengatasi masalah ini, kita buat method getarea() sebagai abstract. abstract public double getarea();

Rewrite Shape as abstract

Abstract Class Pada pewarisan, jika super-kelas mempunyai method yang harus di override oleh sub-kelasnya, maka class dan method tersebut kita buat sebagai abstract.

Abstract Class Sebagai contoh, kita akan membuat superclass bernama Makhluk Hidup. Class ini mempunyai method tertentu seperti bernapas, makan, tidur, dan berjalan. Akan tetapi, ada beberapa method di dalam superclass yang sifatnya tidak dapat digeneralisasi. Kita ambil contoh, method berjalan. Tidak semua makhluk hidup berjalan dalam cara yang sama. Kita manusia berjalan dengan dua kaki, dimana kehidupan lainnya seperti anjing berjalan dengan empat kaki.

Makhluk Hidup Manusia Hewan Anjing Ayam

Abstract Method Diawali dengan kata abstract. Tidak ada implementasi. Langsung diakhiri oleh semicolon (;). Bertujuan agar di sub-kelasnya di override. Contoh:

Abstract Class Diawali dengan kata abstract. Tidak dapat di instantiate. Namun sub-tipe tetap berlaku sehingga polimorfisme tetap berlaku. Hanya abstract class yang dapat memiliki abstract method. Abstract class dapat juga mempunyai method yang tidak abstract. Abstract class memaksa sub-kelas utk override abstract method. Jika tidak, maka sub-kelas harus juga bertipe abstract.

Abstract Class Jika sub-kelas tidak meng-override abstract method, pasti akan muncul error, contoh:

Contoh Contoh class pd Java API.

Catatan Method abstract tidak dapat dideklarasi final. Kenapa? Method abstract tidak dapat dibuat dengan akses private. Kenapa?

Interface Interface: cara standar dalam menetapkan sifat-sifat umum dari class. Interface juga bersifat polimorfisme. Interface digunakan untuk mengatasi kemiripankemiripan pada kelas yang tidak berhubungan.

Interface Anggaplah ada class Garis dan BilanganBulat. Kedua kelas mempunyai perlakuan untuk membandingkan 2 buah object garis atau 2 buah object bilangan bulat. Karena kemiripannya, kita dapat membuat suatu interface Pembanding yang berisi method signature (tanpa implementasi) berkaitan dengan perbandingan 2 objek.

Interface Diawali dengan kata kunci interface, bukan class. Method pada interface adalah abstract karena tidak memerlukan implementasi. (namun tanpa keyword abstract) Interface tidak mengandung method constructor. Semua method berakses public. Kata kunci public tidak harus dideklarasikan. Variabel secara otomatis menjadi public static final.

Contoh Contoh pd Java API. Interface ActionListener

Final Kata kunci final jika digunakan pada method maka method tersebut tidak dapat di override. Contoh pada class String.

Static Jika method dideklarasi static, pemanggilan method di luar dari kelas harus memasukkan nama kelasnya juga. Contoh:

Exception Exception: pengecualian Exception: suatu peristiwa yang muncul sewaktu eksekusi program, yang mengganggu jalannya instruksi normal pada program. Cara handle: Blok try-catch-finally Throws exception pada class

Contoh program yg dapat menimbulkan Exception Jika pada class BilanganBulat pd project garis-bulat kita tambahkan method bagi, seperti ini: public double bagi(int y) { } double z = 0; z = x / y; return z; Maka akan dapat menghasilkan exception jika nilai y yang dimasukkan adalah 0.

Cara antisipasi exception Buat blok try-catch: public double bagi(int y) { double z = 0; try{ z = x / y; } catch (Exception e){ System.out.println("Masukkan nilai y yang bukan 0"); } return z; }