CSG2H3 Object Oriented Programming INTERFACE -RSM-

dokumen-dokumen yang mirip
Pemrograman Lanjut. Interface

CSG2H3 Object Oriented Programming. Inheritance -RSM-

Pemrograman Web. Object Oriented Programming in PHP 5

Konsep Dasar Pemrograman Berorientasi Objek

ABSTRACT CLASS. Imam Fahrur Rozi

(INHERITANCE) Nurochman

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

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

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

Pemrograman Berorientasi. Inheritance

Pemrograman Berorientasi. Abstract & Interface

Bahasa Pemrograman 2.

SYLLABUS DAN PENDAHULUAN. Astrid Lestari Tungadi, S.Kom., M.TI.

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

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

Pemrograman Berorientasi Object. IMade Suartana, S.Kom, M.Kom

Inner Class adalah class yang berada (didefinisikan) di dalam sebuah Class

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

Pemrograman Lanjut. Class : Deeper Look 2

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

ABSTRACT & INTERFACE. Pemrograman Lanjut Herman Tolle

Pemrograman Lanjut. Instance Variable Access Modifier Set dan Get Method

1/5. while and do Loops The remaining types of loops are while and do. As with for loops, while and do loops Praktikum Alpro Modul 3.

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

ABSTRACT CLASS DAN INTERFACE

Pemrograman Berbasis Objek. Interface. Politeknik Elektronika Negeri Surabaya

Oleh : Rahmady Liyantanto

Covered Topics. Course Map OOP Concept

Composition dan Inheritance

Pemrograman Lanjut Class and Object PTIIK

MATERI 3a Pemrograman Berorientasi Objek (S3)

IKG2I4 / Software Project I

Inheritance dan Kata Kunci static

06/03/2018. Tidak memiliki parameter. Melakukan inisialisasi semua variabel private dengan nilai awal.

Konsep Pemrograman Berbasis Obyek

:: abstract class + interface. :: abstract class

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

IKG2I4 / Software Project I

PEMROGRAMAN BERORIENTASI OBJEK LANJUT

Pemrograman Lanjut. Intro to GUI (Graphical User Interface)

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

Pertemuan 4 Halaman 1/1. Class Inheritance

KUM 3 IMPLEMENTASI LIST

Adam Hendra Brata Teknik Informatika FILKOM UB Semester Genap 2015/2016

ANALISIS CAPAIAN OPTIMASI NILAI SUKU BUNGA BANK SENTRAL INDONESIA: SUATU PENGENALAN METODE BARU DALAM MENGANALISIS 47 VARIABEL EKONOMI UNTU

Modul Pelatihan : Pembuatan Game Animasi Menggunakan Greenfoot

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

Bahasa Pemograman II. Object Oriented Programming

Gambar 1: Hirarki class

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

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

BAHASA PEMROGRAMAN JAVA

Modul II Object Oriented Programming

Pengenalan Greenfoot Dalam Pembuatan Game Berorientasi Objek

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

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

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

Polymorphism (Polimorfisme)

Like mother, like daughter... [common saying]

Rahasia Cermat & Mahir Menguasai Akuntansi Keuangan Menengah (Indonesian Edition)

Pewarisan, Polimorfisme, dan Interface

Panduan Excel untuk Pelamar Kerja (Indonesian Edition)

KONSEP OOP: POLYMORPHISM

MODUL 3 Inheritance. Tujuan: Mahasiswa dapat mengenal dan memahami konsep inheritance dan cara menerapkan inheritance dengan constructor

JOBSHEET 8 INHERITANCE (PEWARISAN)

Konsep Pemrograman Berorientasi Obyek. Maria Ulfah S Nurochman

8 - Overriding dan Overloading

KONSEP OOP: POLYMORPHISM

Inheritance (Pewarisan) Pengertian dasar inheritance

Pemodelan Berorientasi Objek

BAB II TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT

Boxing & AutoBoxing Java Collection Framework. Collection List Map Set. Generics vs Inheritance

RENCANA PEMBELAJARAN SEMESTER (RPS)

ABSTRAK. Kata kunci: diagram kelas, xml, java, kode sumber, sinkronisasi. v Universitas Kristen Maranatha

Pemrograman Lanjut Review Class dan Object PTIIK

Inheritance (Pewarisan Sifat) Imam Fahrur Rozi

KESASTRAAN MELAYU TIONGHOA DAN KEBANGSAAN INDONESIA: JILID 2 FROM KPG (KEPUSTAKAAN POPULER GRAMEDIA)

POLIMORPHISM PEMROGRAMAN LANJUT. Dr. Eng. Herman Tolle. Sistem Informasi FILKOM UB Semester Genap 2016/2017

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

Bahasa Pemrograman :: Polimorfism and Abstraction

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

LAPORAN RESMI PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK MODUL 3 ABSTRAKSI

Data Structures. Class 5 Pointer. Copyright 2006 by The McGraw-Hill Companies, Inc. All rights reserved.

Pemrograman Berbasis. Strategy dan Observer Pattern

IKG2I4 / Software Project I

IT652 Pemrograman Berorientasi Aspek. Ramos Somya

ABSTRACT. Keyword: Algorithm, Depth First Search, Breadth First Search, backtracking, Maze, Rat Race, Web Peta. Universitas Kristen Maranatha

Bahasa Pemrograman 2.

7. Analisis Kebutuhan - 1 (System Actors & System Use Cases )

Statistik Bisnis 1. Week 9 Discrete Probability

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

Monitor. Process Synchronization. SISTIM OPERASI (IKI-20230) ProcessSynchronization Ch. 6. Johny Moningka

Package. Learning Outcomes. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu: Introduction. Outline Materi

Pemrograman Lanjut Tipe Data dan Constructor PTIIK

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

TPI4202 e-tp.ub.ac.id

ENKAPSULASI Data Hiding

Ya Allah Bimbing Hamba Menjadi Wanita Salehah (Indonesian Edition)

Class & Object 2 ~Praktikum~ Imam Fahrur Rozi

Transkripsi:

CSG2H3 Object Oriented Programming INTERFACE -RSM-

Interface Apa itu Interface? Deklarasi Interface Implementasi Interface Extend Interface

Review - Inheritance

Review - Inheritance

Studi Kasus Ball dan Car sangat berbeda Tapi, ada beberapa hal sama yang dapat mereka lakukan Ball dan Car dapat memiliki warna yang dapat diubah. - Warna dapat diakses dan dapat diubah - Menggunakan setter dan getter Namun, kedua objek tsb tentu saja tidak mewarisinya dari suatu superclass. Bagaimana kita memodelkan kemiripan pada objekobjek yang sama sekali berbeda?

Dari materi inheritance sebelumnya, disimpulkan: 2 objek disebut memiliki relasi jika mereka inherit dari superclass yg sama Kalau untuk kelas Car dan Ball, relasinya apa ya?

Ternyata.2 objek juga bisa disebut berelasi jika mereka mampu melakukan hal yang sama. Car dan Ball memiliki keterkaitan karena sama-sama bisa memiliki warna yang bisa diubah. Person dan Animal memiliki keterkaitan karena samasama bisa berlari Sesuatu yang digunakan untuk menjembatani kelaskelas berbeda yang memiliki kemampuan yang mirip interface Apakah fungsi interface hanya ini?

Sehingga: Objek juga dapat berelasi jika mereka implement interface yang sama Contoh: kelas Ball dan Car dapat mengimplementasikan interface Colorable Objek yang memiliki kemampuan untuk memiliki warna

Sebenarnya ini adalah abstract method, tapi keyword abstract tidak dituliskan. Mengapa?? Boleh tidak dicantumkan lho Kenapa hayooo

No access modifier defined in method declarations

Hanya deklarasi method!! Mirip dengan kelas abstract Berbagi tanggung jawab behaviour/method Tapi tidak berbagi kode program - Tidak ada constructor - Biasanya tidak ada atribut/instance variable Penamaan interface: Adjectives -able or -ive. Contoh: Colorable, Rotatable specify roles -er Contoh: Container, Mover, Teacher

Cara implement suatu interface

Implementing an interface allows a class to become more formal about the behavior it promises to provide. Interfaces form a contract between the class and the outside world, and this contract is enforced at build time by the compiler. If your class claims to implement an interface, all methods defined by that interface must appear in its source code before the class will successfully compile.

Mengimplementasikan Interface Kelas hanya bisa extend sebuah kelas lain Namun, kelas dapat implement lebih dari 1 interface Kelas dapat extend sebuah superclass dan implement banyak interface 18 of 29

Implementing multiple interfaces //tersimpan di file Lover.java public interface Lover { public void love(); } //tersimpan di file Fighter.java public interface Fighter { public void fight(); } //tersimpan di file Cyclops.java public class Cyclops implements Lover,Fighter { public void love() { //implementasi } } public void fight() { //implementasi }

Interfaces, Inheritance, Extensibility interfaces can extend any number of other interfaces - this is because interfaces merely declare policy they never specify any implementation - just put a comma between interface names after extends Extending multiple interfaces is useful for objects that have some things in common but otherwise behave very differently - example: GUI components (e.g., PushButton, TextBox, Menu) - they all look, behave, and react very differently - but they all have the capability to be located on the screen and given a particular size - so a Component interface is created that extends both Locatable and Sizeable Remember: object inherits all it s superclass s capabilities, all its superclass s interfaces - therefore if a superclass implements an interface, so must each subclass. - BUT, declaring that you implement an interface doesn t force you to define it you can let concrete subclasses do that!

Lalu, apa sih kaitan antara inheritance dengan interface??

Lalu, ada kebutuhan untuk menambah sebuah method diditwork() Pada awalnya, interface DoIt seperti ini

That s not polite!!

Example: Extending Multiple Interfaces public interface Colorable { public void setcolor(java.awt.color clr); public java.awt.color getcolor(); } public interface Decorable { } public void decorate(decoration dcr); public interface Artistic extends Colorable, Decorable { } public void putondisplay(); Semua kelas yang meng-implement interface Artistic harus membuat definisi semua method yg ada pada kelas Artistic, Colorable, dan Decorable

Differences Between Interfaces and Classes Class Models an object with properties and capabilities Factors out common properties and capabilities of similar objects Declares methods and may define some or all of them A class can extend only one superclass Interface Models a role; defines a set of responsibilities Factors out common capabilities, not properties, of (often) dissimilar objects Declares, but does not define methods can implement multiple interfaces

Declaring constant with interface Maksudnya? Implicitly public, static, and final

Diagram Kelas untuk Inheritance, Abstract, Interface

Summary Interfaces factor out common capabilities from otherwise unrelated objects model the acts as relationship e.g., a CS15Mobile and a BouncingBall both act as Colorable objects despite being otherwise dissimilar Interface defines a contractual obligation advantages: forces implementers to obey the contract Java verifies this at compile-time no implementation defined in interface implementing classes must provide definitions for all methods declared in the interface Implementation of multiple interfaces single class can implement more than one interface provide a definition for all methods declared in each interface interfaces can extend other interfaces

Common interfaces of the Java API Comparable Serializable Runnable GUI event-listener interfaces SwingConstants

Question Apakah deklarasi interface berikut ini benar?

Apakah deklarasi interface berikut benar?

Exercise Buat implementasi diagram berikut dalam Java Kelas Goods Kelas Food, Toy, dan Book extends Goods Interface Taxable Perhatikan atribut dan method yg harus dibuat di tiap kelas! Buat driver-nya (bebas)!

THANK YOU