Pewarisan Sifat Objek. Nur Hasanah, M.Cs

dokumen-dokumen yang mirip
PEWARISAN SIFAT OBYEK

//PROGRAM 7-9. class A { A() { //PROGRAM System.out.println("Constructor dari kelas A"); // Mendefinisikan kelas abstract. abstract class A {

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

Bab. Contoh-01. class Kotak { int pjg; // panjang int lbr; // lebar int tgi; // tinggi } Kotak pjg lbr tgi

INHERITANCE. Gambar 1. Kelas Hierarki Java

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

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan)

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

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

Inheritance (Pewarisan) Pengertian dasar inheritance

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

Paket dan Interface. Nur Hasanah, M.Cs

KONSEP OOP: PEWARISAN / INHERITANCE

Bahasa Pemrograman :: Polimorfism and Abstraction

Projek Kelompok 4. //tipe array nama array={nilai elemen 1,...,elemen N}; Fajar[] a = {new Fajar("Hallo"), new Fajar("Apa"), new Fajar("Kabar")};

Abstract Class dan Interface. Viska Mutiawani, M.Sc

//PROGRAM class contohbiner { System.out.println("Bentuk biner dari 1 : " + Integer.toBinaryString(1));

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

LAPORAN RESMI INHERITANCE

Pemrograman Berorientasi Objek

KONSEP OOP: POLYMORPHISM

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

subclass class manapun private default protected public package yang sama

//constraktor awal class Kotak6 { double panjang;

KONSEP OOP: PEWARISAN / INHERITANCE

IKG2I4 / Software Project I

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

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

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

Bahasa Pemrograman 2.

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

KONSEP OOP: POLYMORPHISM

Bahasa Pemrograman :: Inheritance

Gambar 1: Hirarki class

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

Chapter 10 Polimorphism

Modul Bahasa Pemrograman 1

Inheritance. Pertemuan 8 Pemrograman Berbasis Obyek

INTERAKSI ANTAR OBJECT

Membuat dan Menggunakan Class

Inheritance. Topik 5/17/2013

Pemrograman Berbasis Objek Inheritance

Inheritance dan Kata Kunci static

Pewarisan, Polimorfisme, dan Interface

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

//PROGRAM 5-8. class Kotak { double panjang; double lebar; double tinggi; // Mendefinisikan constructor untuk kelas Kotak. Kotak() { panjang = 4;

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

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

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

KONSEP OOP: PEWARISAN / INHERITANCE

PAKET DAN INTERFACE MUH. IZZUDDIN MAHALI, M.CS. PT. Elektronika FT UNY

Penjebakan Eksepsi. Nur hasanah, M.Cs

Polymorphism (Polimorfisme)

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

Pemrograman Berorientasi. Inheritance

BAB VII. CLASS DAN OBJECT

Pemrograman Berorientasi. Abstract & Interface

PRAKTIKUM III & IV PEMROGRAMAN BERORIENTASI OBJEK

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

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

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

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

Pemrograman Berorientasi Objek INHERITANCE

Pemrograman Berorientasi Objek Danu Wira Pangestu

Overriding Overloading Polymorphism

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

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

(INHERITANCE) Nurochman

MODUL III ARRAYLIST TUGAS PENDAHULUAN

Pemrograman Berbasis Objek (Polimorfisme)

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

Array Sebagai Parameter Method

Praktikum 3 Konsep Class, Attribute dan Method

Bahasa Pemrograman 2.

Pertemuan 4 Halaman 1/1. Class Inheritance

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

Pemrograman Berorientasi. Class dan Obyek 2

MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD

Bahasa Pemrograman 2.

Employee employee=new Manager();

MODUL 1. Class, Object, Constructor dan Method

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

COMPOSITION FAKULTAS TEKNOLOGI INFORMASI. PBO Lanjutan UNIVERSITAS BUDI LUHUR. Kelas (Lanjutan) HAL : 1

Pewarisan (Inheritance)

Pemrograman Berorientasi. Polimorfisme dan Binding

BAB 12 ENKAPSULASI, INHERITANCE DAN POLIMORPISME

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

BAB 6 INHERITANCE Tujuan:

Konstruktor dan Polimorfisme

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

Jobsheet 09. Overloading and Overriding Method

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

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

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

Class dan Object. PBO/Java/Ayuliana/Revisi

PEMOGRAMAN JAVA. Yoannita, S.Kom. Class(ii) [Constructor] [keyword this] Modifier Passing parameter [by value] [by references]

Bahasa Pemrograman 2.

OOP Java. 05 Encapsulation & Inheritance

PEMROGRAMAN BERORIENTASI OBJEK

Transkripsi:

Pewarisan Sifat Objek Nur Hasanah, M.Cs

Membuat Kelas Turunan (Subclass) Java menyediakan kata kunci extends yang digunakan untuk penurunan terhadap kelas. Dalam terminologi Java, kelas induk yang diturunkan disebut superclass, sedangkan kelas baru hasil turunan disebut subclass. Bentuk umumnya: Class nama-subclass extends nama-superclass{ //badan kelas

Membuat Kelas Turunan (Subclass) Contoh : DemoKelasTurunan2.java

Tingkat Akses Protected Melalui tingkat akses protected, data dapat diakses oleh semua kelas yang memiliki hubungan turunan, tapi lingkungan luar tetap tidak diberi hak untuk mengakses data tersebut.

Tingkat Akses Protected Contoh: Demoprotected1.java Demoprotected2.java

Menggunakan kata kunci super Constructor yang terdapat pada kelas induk dapat dipanggil dari kelas turunan menggunakan kata kunci super Bentuk umum pemanggilannya: super(daftar-parameter) Daftar-parameter = daftar parameter yang didefinisikan constructor kelas induk Dalam constructor kelas turunan, super() harus ditempatkan pada bagian awal (baris pertama).

Menggunakan super untuk Memanggil Constructor Kelas Induk Contoh: DemoSuper1.java

class Kotak { protected double panjang; protected double lebar; protected double tinggi; class KotakPejal extends Kotak { private double berat; KotakPejal(int p, int l, int t, int b) { Kotak() { panjang = lebar = tinggi = 0; super(p, l, t); berat = b; Kotak(int p, int l, int t) { panjang = p; lebar = l; tinggi = t; public double hitungvolume() { return (panjang * lebar * tinggi); public double getberat() { return berat; class DemoSuper1 { public static void main(string[] args) { KotakPejal k = new KotakPejal(6, 5, 4, 2); System.out.println("Volume k : " + k.hitungvolume()); System.out.println("Berat k : " + k.getberat()); DemoSuper1.java

Menggunakan super untuk Mengakses Anggota Kelas Induk Contoh: DemoSuper3.java

class A { protected int a; class B extends A { private int a; // akan menimpa a yang ada dalam kelas A B(int nilai1, int nilai2) { super.a = nilai1; a = nilai2; // a di dalam kelas A // a di dalam kelas B public void tampilkannilai() { System.out.println("Nilai a di dalam kelas A : " + super.a); System.out.println("Nilai a di dalam kelas B : " + a); class DemoSuper3 { public static void main(string[] args) { B obj = new B(121, 212); obj.tampilkannilai(); DemoSuper3.java

Melakukan Override terhadap Method Saat kita mendefinisikan suatu method di kelas turunan yang nama dan daftar parameternya sama persis seperti yang terdapat di kelas induk, maka dikatakan kita telah melakukan override (mengesampingkan) method yang tersimpan di kelas induk. Apabila kita memanggil method yang telah dioverride melalui objek kelas turunan, maka yang kakan dieksekusi adalah method yang terdapat pada kelas turunan.

Melakukan Override terhadap Method Contoh: DemoOverride1.java DemoOverride2.java

class A { private int a; public void seta(int nilai) { a = nilai; public int geta() { return a; public void tampilkannilai() { System.out.println("Nilai a: " + geta()); class B extends A { private int b; public void setb(int nilai) { b = nilai; public int getb() { return b; public void tampilkannilai() { System.out.println("Nilai b: " + getb()); class DemoOverride1 { public static void main(string[] args) { B obj = new B(); obj.seta(100); obj.setb(200); obj.tampilkannilai(); DemoOverride1.java

class A { private int a; public void seta(int nilai) { a = nilai; public int geta() { return a; public void tampilkannilai() { System.out.println("Nilai a: " + geta()); class B extends A { private int b; public void setb(int nilai) { b = nilai; public int getb() { return b; public void tampilkannilai() { super.tampilkannilai(); System.out.println("Nilai b: " + getb()); class DemoOverride2 { public static void main(string[] args) { B obj = new B(); obj.seta(100); obj.setb(200); obj.tampilkannilai(); DemoOverride2.java

Perbedaan Override dengan Overload Override : mendefinisikan suatu method dalam kelas turunan yang memiliki nama dan daftar parameter sama persis dengan yang terdapat pada kelas induk. Overload : mendefinisikan suatu method di dalam kelas turunan yang namanya sama dengan method yang terdapat pada kelas induknya, tapi daftar parameternnya berbeda. Contoh : DemoOverloadTurunan.java

class Induk { public void test() { System.out.println("Method di dalam kelas Induk"); class Turunan extends Induk { public void test(string s) { System.out.println("Method di dalam kelas Turunan"); System.out.println("s : \"" + s + "\""); class DemoOverloadTurunan { public static void main(string[] args) { Turunan obj = new Turunan(); obj.test(); System.out.println(); obj.test("contoh overload pada proses pewarisan"); DemoOverloadTurunan.java

Polimorfisme Polimorfisme mengizinkan kelas induk untuk mendefinisikan sebuah method general (bersifat umum) untuk semua kelas turunannya, dan selanjutnya kelas-kelas turunan dapat memperbarui implementasi dari method tersebut secara lebih spesifik sesuai dengan karakteristik masing-masing. Proses override dibentuk agar Java dapat mendukung konsep polimorfisme.

Polimorfisme Contoh: DemoPolimorfisme1.java DemoPolimorfime2.java

Kelas Abstrak Pada kasus tertentu, kita ingin mendeklarasikan sebuah kelas induk yang mempunyai method dimana method tersebut tidak memerlukan implementasi sama sekali. Method tersebut baru akan diimplementasi oleh kelaskelas turunannya. Method ini yang disebut method abstrak. Method abstrak tidak dapat dideklarasikan dengan tingkat private, karena harus diimplementasi oleh kelas turunan. Bentuk umum penulisan kodenya: abtract tipe namamethod(daftar-parameter);

Kelas Abstrak Setiap kelas yang didalamnya terdapat satu atau lebih method abstrak harus dideklarasikan juga sebagai kelas abstrak. Bentuk umum penulisan kodenya: abtract class namakelas{ //badan kelas

Kelas Abstrak Kelas abstrak tidak dapat diinstantiasi (kita tidak diizinkan untuk membentuk objek dari suatu kelas abstrak). Meskipun demikian, kita diperbolehkan untuk mendeklarasikan sebuah variabel referensi ke kelas abstrak. Selanjutnya, variabel referensi tersebut dapat digunakan untuk mengacu ke objek-objek dari kelas turunan. Contoh : DemoKelasAbstrak1.java

abstract class A { abstract public void coba(); public void cobajuga() { System.out.println("Method non-abstrak " + "di dalam kelas abstrak"); class B extends A { public void coba() { System.out.println("Method di dalam kelas B"); class DemoKelasAbstrak1 { public static void main(string[] args) { A ref; B obj = new B(); ref = obj; // ref menunjuk ke objek dari kelas B ref.coba(); // memanggil method coba() di dalam B ref.cobajuga(); // memanggil method cobajuga() di dalam A DemoKelasAbstrak1.java

Reference Budi Rahardjo dkk. (2012). Mudah Belajar Java. Penerbit Informatika Bandung. 23