Composition dan Inheritance

dokumen-dokumen yang mirip
(INHERITANCE) Nurochman

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

PEMROGRAMAN BERORIENTASI OBJEK

Inheritance (Pewarisan) Pengertian dasar inheritance

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

Abstract Class dan Interface. Viska Mutiawani, M.Sc

Pertemuan 4 Halaman 1/1. Class Inheritance

Pemrograman Berorientasi. Inheritance

Inheritance dan Kata Kunci static

8 - Overriding dan Overloading

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

Inheritance (Pewarisan Sifat) Imam Fahrur Rozi

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

MINGGU V : PBO (PEWARISAN)

IKG2I4 / Software Project I

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

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

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

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

Pemrograman Berbasis Objek. Interface. Politeknik Elektronika Negeri Surabaya

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

Pemrograman Berorientasi Objek Danu Wira Pangestu

LAPORAN RESMI INHERITANCE

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

Bahasa Pemrograman 2.

:: abstract class + interface. :: abstract class

KONSEP OOP: PEWARISAN / INHERITANCE

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

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

Pemrograman Berorientasi. Abstract & Interface

Inheritance. Pertemuan 8 Pemrograman Berbasis Obyek

Gambar 1: Hirarki class

Konsep Dasar Pemrograman Berorientasi Objek

Polymorphism (Polimorfisme)

Inheritance. Topik 5/17/2013

Pemrograman Berbasis Objek Inheritance

Bahasa Pemrograman 2.

JOBSHEET 8 INHERITANCE (PEWARISAN)

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

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

Other OOP Basic. Viska Mutiawani, M.Sc

KONSEP OOP: PEWARISAN / INHERITANCE

Konsep Pemrograman Berbasis Obyek

Class Wrapper. Tujuan dari Class Wrapper

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

Object Oriented Programming 1

Bahasa Pemrograman :: Polimorfism and Abstraction

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

Modul Bahasa Pemrograman 1

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

Pemrograman Berorientasi. Polimorfisme dan Binding

Pewarisan, Polimorfisme, dan Interface

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

subclass class manapun private default protected public package yang sama

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

JOBSHEET POLIMORFISME

SILABUS MATA KULIAH PEMROGRAMAN JAVA

KONSEP OOP: PEWARISAN / INHERITANCE

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

ABSTRACT & INTERFACE. Pemrograman Lanjut Herman Tolle

BAB 6 INHERITANCE Tujuan:

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

7 Inheritance. + berjalan() + berhenti PENDAHULUAN

Pewarisan atau Inheritance

INHERITANCE. Gambar 1. Kelas Hierarki Java

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

Pemrograman Web. Object Oriented Programming in PHP 5

CSG2H3 Object Oriented Programming. Inheritance -RSM-

Pemrograman Lanjut. Interface

PERTEMUAN 5 OOP. Objektif : Praktikan mengetahui konsep OOP. Praktikan dapat membuat program sederhana dengan konsep OOP.

Bahasa Pemrograman 2.

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

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

Modul Pelatihan : Pembuatan Game Animasi Menggunakan Greenfoot

Bahasa Pemrograman :: Inheritance

Tutorial Inheritance

Bahasa Pemrograman II Modul 2 : Inheritance dan Interface

Object and All Things Related to It

LAPORAN RESMI PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK MODUL 3 ABSTRAKSI

public class B extends A {... }

ABSTRACT CLASS DAN INTERFACE

Overriding Method Overloading Method Class(iii) [Superclass and subclass] [constructor overloading] Keyword Super

Dasar Pemrograman Java. H. Risdiandri Iskandar, SKom,MM 1

Chapter 10 Polimorphism

KONSEP OOP: POLYMORPHISM

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan)

Konsep Pemrograman Berorientasi Obyek

Pertemuan 11 Object Oriented Program

Praktikum Minggu VI 1 dan 2 Dasar-dasar Object Oriented Programming PHP

Overriding Overloading Polymorphism

KONSEP OOP: POLYMORPHISM

Class Diagram (Class, Association,Aggregation,Compositon,Generalization,Multiplicity)

KONSEP Pemrograman Berorientasi Objek KARMILASARI

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

PRAKTIKUM 6 EXCEPTION

OBJECT ORIENTED PROGRAMMING

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

IT 405: KPLBO MATERI 8 RELASI ANTAR OBJEK. Ayi Purbasari, ST., MT. If-Unpas, 2014

INHERITANCE. Pelatihan Java 2 Mei 2015 Fakultas Teknologi Informasi Program Studi Teknik Informatika

Transkripsi:

Composition dan Inheritance Viska Mutiawani, M.Sc 1 Viska Mutiawani - Informatika FMIPA

Konsep Penting Composition Inheritance (pewarisan) Superclass (super kelas) Subclass (sub kelas) Method overriding 2 Viska Mutiawani - Informatika FMIPA

Reuse Class Ada 2 cara untuk reuse (menggunakan kembali) class yang telah dibuat: Composition (has-a) Inheritance (is-a) 3 Viska Mutiawani - Informatika FMIPA

Composition vs Inheritance Composition : aggregation Composition : class baru disusun dari class yang telah ada. Inheritance : pewarisan Inheritance : class baru dibuat berdasarkan modifikasi dari class yang telah ada. 4 Viska Mutiawani - Informatika FMIPA

Composition Contoh ada class Point. Anggap kita akan buat class Line. Kita dapat re-use class Point dengan composition. Kita sebut: "A line is composed of two points", or "A line has two points". Composition juga disebut relasi "has-a 5 Viska Mutiawani - Informatika FMIPA

Contoh Composition 6 Viska Mutiawani - Informatika FMIPA

Inheritance Atau pewarisan Anggap seperti hirarki binatang dalam Biologi. 7 Viska Mutiawani - Informatika FMIPA

Inheritance Superclass: Class yang berada pada hirarki lebih atas. (Parent) Memiliki variabel dan method yang umum Subclass: Class yang berada pada hirarki lebih bawah. (Child) Memiliki variabel dan method yang lebih khusus. Subclass mewarisi semua variabel dan method dari superclasssuperclassnya. 8 Viska Mutiawani - Informatika FMIPA

Inheritance Kegunaan inheritance: Menghindari duplikasi code Reuse code Menyederhanakan code Mempermudah maintenance dan perluasan code Inheritance juga disebut relasi is-a Contoh: Poodle is a dog Owl is a bird Bird is a animal 9 Viska Mutiawani - Informatika FMIPA

Contoh Inheritance Cara subclass mewarisi superclass: dengan keyword extends 10 Viska Mutiawani - Informatika FMIPA

Keyword super Keyword super digunakan untuk merujuk pada variabel dan method pada superclass. Pada constructor, super digunakan untuk memanggil constructor dari superclass. 11 Viska Mutiawani - Informatika FMIPA

Constructor pada Inheritance Constructor subclass di Java tidak diwarisi dari superclassnya. Namun constructor superclass dapat digunakan di dalam subclass dengan menggunakan keyword super(). Setiap class di Java memiliki constructornya sendiri. 12 Viska Mutiawani - Informatika FMIPA

Method overriding Selain dari mewarisi semua variabel dan method dari superclass-superclassnya, subclass dapat mengoverride variabel dan method. Andaikan kita ingin menghitung luas permukaan Cylinder. Kita gunakan method getarea() pada Circle dengan cara meng-overridenya. Dan selanjutnya kita ubah getvolume() untuk menghitung volume Cylinder. 13 Viska Mutiawani - Informatika FMIPA

@Override @Override disebut sebagai annotation, yang menyuruh compiler untuk mengecek apakah ada nama method pada superclass. Jika tanpa @Override, method ToString() akan dianggap sebagai method baru. Jika dengan @Override, akan muncul error kompilasi jika kita tulis ToString() Optional but nice to have. 14 Viska Mutiawani - Informatika FMIPA

Single Inheritance Java tidak mensupport multiple inheritance (subclass punya lebih dari satu superclass) Pada Java, subclass hanya boleh punya satu superclass langsung di atasnya. Namun superclass boleh punya banyak subclass. 15 Viska Mutiawani - Informatika FMIPA

java.lang.object Setiap class pada Java merupakan subclass dari Object (java.lang.object). Java.lang.Object disebut common root. Hal ini diperlukan untuk running program dengan JRE, contohnya pada kasus multithreading, garbage collector. 16 Viska Mutiawani - Informatika FMIPA

Composition vs Inheritance A line is composed of 2 points vs A line is a point extended by another point? Which one? Pendapat ahli: Use composition if possible, before considering inheritance. 17 Viska Mutiawani - Informatika FMIPA

Latihan 18 Viska Mutiawani - Informatika FMIPA

Latihan Rectangle - length : double - width : double - Color : String + Rectangle() + Rectangle(length: double, width: double) + getlength() : double + getwidth() : double 19 Viska Mutiawani - Informatika FMIPA