Modul 5: Constructor, Overloading, inheritance, Polymorphism

Slides:



Advertisements
Presentasi serupa
21-Aug-14 OO Concept E. Haodudin Nurkifli Teknik Informatika Universitas Ahmad Dahlan Kuliah 3 : Administrative dan Introduction 8 Oktober 2010.
Advertisements

Nur Hayatin, S.ST Jurusan Teknik Informatika Universitas Muhammadiyah Malang Sem Genap 2010.
POLIMORFISME Imam Fahrur Rozi 01.
Inheritance (Pewarisan) As’ad Djamalilleil
Pemrograman JAVA (TIB09)
Inheritance.
Modul 6: Abstract Class, abstract method
Inheritance ImamFahrur Rozi.
Modul 1- Review Java.
INHERITANCE.
Inheritance Ery Setiyawan Jullev A.
Inheritance (Pewarisan)
1.Polymorphism Polymorphism adalah konsep yang memungkinkan mendefinisikan metod pada class anak (sub class) yang memiliki definisi sama dengan metod.
7 Rekayasa Sistem Konsep Utama OOP Dedy Alamsyah, S.Kom.
Overriding, Overloading, Polymorphism
Pertemuan 8 Pemrograman Berbasis Obyek Oleh Tita Karlita
Praktikum 8 Pemrograman Berbasis Obyek
Pewarisan, Polimorfisme, dan Interface
Pemrograman Berorientasi Objek
Inheritance (Pewarisan)
ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM
Modul 2: Class, Objek, data, variabel dan operator
Pertemuan : Object Oriented Programming
OBJECT ORIENTED PROGRAMMING YANES HARDIANTO SUI Politeknik Manufaktur Astra 2011.
Polymorphism (bag. 2).
OOP Java - Tj Konsep Dasar OOP.
Inheritance Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 4 Tahun : 2008 Versi : 1/0.
Inheritance, polymorphism, dan interface
INHERITANCE (Oleh : Nur Hayatin, S.ST)
MATERI IV OOP (Object Oriented Programming) Chapter II.
Pertemuan 6 PEWARISAN AND POLYMORPHISM
Polymorphism Pertemuan 9 Matakuliah: M0864/Programming I Tahun: 2009.
Applet Setelah mengikuti mata kuliah ini mahasiswa dapat membuat applet sederhana.
Perancangan dan Pemrograman Web
Inheritance dan Kata Kunci static
POLYMORPHISM (KEBANYAKRUPAAN)
Pemrograman Berorientasi Objek
POLYMORPHISM, ABSTRACT CLASS DAN INTERFACE
@kovazzevic | SMKN 24 Jakarta
POLYMORPHISM (KEBANYAKRUPAAN)
Inheritance Pertemuan 8
Pewarisan Disusun Oleh: Reza Budiawan Untuk:
MODIFIER JAVA.
Pewarisan (Inheritance)
Class, Objek, data, variabel dan operator
PEMOGRAMAN Kelas dan Perwarisan.
Lebih Jauh tentang Class, Objek dan Method
Object Oriented Programming
Inheritance.
Inheritance (Turunan)
INHERITANCE SUSSI.
Pewarisan (Inheritance)
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding PBO.
Visibility, Getter Setter, Pewarisan, Overloading dan Overriding
Visibility, Getter Setter, Pewarisan, Overloading dan Overriding
Subclassing and Inheritance
Algoritma dan Struktur Data
Polimorphism Dosen Pengampu : Nur Iksan.
Modul 6: Abstract Class, abstract method
Constructor, Overloading, inheritance, Polymorphism
PEWARISAN Kelompok : Alim Mutohidin ( )
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding Pemrograman.
TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT (OOP)
Oleh : Rahmat Robi Waliyansyah, M.Kom.
@kovazzevic | SMKN 24 Jakarta
Dasar-dasar Pemrograman Berbasis Obyek. kelas Kelas pada java didefinisikan dengan menggunakan kata kunci class.
Oleh : Rahmat Robi Waliyansyah, M.Kom
- PERTEMUAN 2- CONSTRUCTOR
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding PBO.
FONDASI PEMROGRAMAN & STRUKTUR DATA #8
Transcript presentasi:

Modul 5: Constructor, Overloading, inheritance, Polymorphism Setelah mengikuti mata kuliah ini mahasiswa dapat mendefinisikan constructor, menerapkan konsep overloading dan konsep inheritance dan polymorphism Modul 5 - Constructor, overloading, inheritance

Modul 5 - Constructor, overloading, inheritance Pengantar : Dalam modul ini akan diuraikan beberapa topik bahasan yaitu : Pengertian constructor Cara mengoverloading constructor Melakukan inheritance, mendefinisikan subclass Modul 5 - Constructor, overloading, inheritance

Modul 5 - Constructor, overloading, inheritance Conctructor adalah metod dari suatu class yang memiliki karakteristik: - otomatis akan dieksekusi jika suatu objek class tersebut diciptakan - didefinisikan dengan modifier public - sama dengan nama class - bisa mengandung atau tidak parameter - dapat didefinisikan lebih dari satu macam definisi (biasanya ini yang terjadi) Jika Construcor tidak didefinisikan : - saat objek dibuat hanya memiliki satu pilihan membuat objek , yaitu : namaClass namaObjek= new namaClass(); Untuk ases selanjutnya terhadap data dan metod digunakan teknik dalam pembatasan (modifier) dari data dan metodnya. Modul 5 - Constructor, overloading, inheritance

Contoh class tanpa construktor Contoh class Data didefinisikan tanpa constructor Hasil program Pertanyaannya : Jika objek dibuat dan sekaligus akan merubah/memberi nilai baru bagi P dan Q caranya bagaimana? Itulah diperlukannya construcor !! Modul 5 - Constructor, overloading, inheritance

Class dengan 1 constructor saja 1 constructor : mengisi P dan Q Hasil program Pertanyannya : 1. Bagaimana jika kita tidak akan mengubah nilai P dan Q, tetapi menggunakan nilai P=88 dan Q=77 ? 2. Bagaimana pula jika yang akan kita ubah Cuma nilai P saja atau Q saja Modul 5 - Constructor, overloading, inheritance

Membuat objek tanpa parameter dengan construcrtor berparameter Berikut ini membuat objek data dengan tanpa melewatkan nilai parameter Ternyata ketika telah didefinisikan constructor dengan parameter, kita tidak dapat lagi membuat objek tanpa parameter. Program gagal dicompile. Solusi dari masalah ini adalah dengan meng-overloading conctructor Modul 5 - Constructor, overloading, inheritance

Modul 5 - Constructor, overloading, inheritance Overloading adalah mendefinisikan lebih dari satu constructor, dengan parameter yang berbeda-beda sehingga pada saat membuat objek maka akan dapat dipilih constructor yang mana yang akan digunakan. Salah satu constructor itu biasanya disebut constructor default (biasanya didefinisikan tanpa parameter) Contoh : Untuk class Data pada program sebelumnya, jika didefinisikan constructor default : public Data(){ }; maka ketika membuat objek dengan : Data data=new Data(); tidak akan ada masalah Modul 5 - Constructor, overloading, inheritance

Construktur default digunakan Construktor default Hasil program public Data(){ } Jika constructor default digunakan maka sebagai akibatnya data yang didefinisikan secara defaullt juga akan digunakan. Nilai P=88 dan Q=77 adalah nilai default yang digunakan seperti nampak dalam output program Modul 5 - Constructor, overloading, inheritance

Modul 5 - Constructor, overloading, inheritance Banyak constructor Membuat objek dengan 3 cara Hasil program Pada data1 : P, Q default Pada data2 : Q default Ternyata program dapat memilih constructor yang mana harus digunakan dengan cara melihat parameter yang dilewatkan/tidak dilewatkan Modul 5 - Constructor, overloading, inheritance

Modul 5 - Constructor, overloading, inheritance Contoh class Anjing Operator this berarti mangacu pada objek yang sedang digunakan Modul 5 - Constructor, overloading, inheritance

Program utama yang menguji Modul 5 - Constructor, overloading, inheritance

Modul 5 - Constructor, overloading, inheritance Hasil programnya … Modul 5 - Constructor, overloading, inheritance

Modul 5 - Constructor, overloading, inheritance Introduction ke dalam inheritance dimulai dari Struktur sebuah kelas dapat digambarkan dalam sekema Class memiliki 2 hal , yaitu : Data (Attribut) Metod Modul 5 - Constructor, overloading, inheritance

Analogi konsep inheritance Secara konsep Inheritance adalah pewarisan sifat induk. Seperti dalam gambaran taksonomi berikut Pada gambar tersebut class CANARY dapat mewakili data dan metod dari BIRD dan ANIMAL Sesuai kaidah inheritance Modul 5 - Constructor, overloading, inheritance

Modul 5 - Constructor, overloading, inheritance Konsep Inheritance … Inheritance adalah konsep penurunan data atau metod (biasanya metod) oleh class yang merupakan class turunan. Cara mendefinisikan class turunan memiliki sintak: class namaClassAnak extends namaClassInduk Dengan deklarasi seperi itu maka metod-metod dalam class induk yang bersifat public dan protected dapat di”warisi” oleh class anakl Modul 5 - Constructor, overloading, inheritance

Modul 5 - Constructor, overloading, inheritance Contoh Inheritance Terlihat bahwa sebagai objek dari class Anak, objek a dapat memanggil metod dari class induk, yaitu cetak1() dan cerak2() Modul 5 - Constructor, overloading, inheritance

Modul 5 - Constructor, overloading, inheritance Polymorphism Polymorphism adalah konsep yang memungkinkan mendefinisikan metod pada class anak (sub class) yang memiliki definisi sama dengan metod induk (super class) Pendefinisian kembali metod dalam class anak dengan nama yang sama dari metod class induk sering disebut melakukan OverRiding terhadap metod Modul 5 - Constructor, overloading, inheritance

Contoh Polymorphism (mengoverride metod cetak1() Hasil program Hasil polymorphism Metod cetak1() dapat diwariskan Metod cetak2() dapat diwariskan Metod cetak3() tidak dapat diwariskan a1.cetak1() : akan gunakan definisi dari class Anak d.cetak1() : akan gunakan definisi dari induk Modul 5 - Constructor, overloading, inheritance

Memanfaatkan data dan metod induk dengan kata kunci : super Misalkan dengan tidak merubah definisi pada class Induk, kita lakukan perubahan definisi pada class Anak. Untuk ases data induk digunakan super.NamaData, dan untuk menggunakan metod induk digunakan super.NamaMetod Dengan super.P class anak dapat mengakses data induk Dengan super.cetak2() metod induk dapat dijalankan dari Anak Modul 5 - Constructor, overloading, inheritance

Modul 5 - Constructor, overloading, inheritance Rangkuman Constructor adalah metod khusus dengan nama sama dengan nama class dan bertugas membuat objek Constructor dapat dioverloading dengan mendefinisikan beberapa nama constructor Inheritance merupakan kemampuan java sebagai OOP untuk mewariskan data dan metod dari Induk(superclass) kepada anak (subclass) Jika metod dalam class induk didefinisikan ulang oleh class anak maka pendefinisian disebut melakukan overriding metod Kemampuan jawa memiliki nama-nama metod yang sama yang melintas pada garis keturuanan disbeut polymorpism Modul 5 - Constructor, overloading, inheritance

Modul 5 - Constructor, overloading, inheritance Latihan Buatlah definisi class Motor, yang memiliki data : nama (String) default “NoName”, dan status (boolean) default= false memiliki metod : tampilkan() : mencetak keterangan nama keadaan motor (status mati /hidup) memiliki metod : nyalakan() :berfungsi men-set status dari mati (false) menjadi hidup (true). Jika status sudah hidup dan dipanggil metod nyalakan(), maka akan ada komentar “Mesin sudah hidup”, jika mesin belum hidup dan meetod nyalakan() dipanggil maka status diubah menjadi true. Definisikan Constructor dengan tiga macam Motor() Motor (boolean status) untujk mendifinisikan status Motor (String nama) untuk mendefinisikan nama motor Modul 5 - Constructor, overloading, inheritance

Modul 5 - Constructor, overloading, inheritance Latihan … ljt Buatlah definisi class TesMotor , untuk membuat objek motor : objek :motorku , nama motor HONDA kondisi mati, panggil metod tampilkan(), nama motor dedinisikan lewat constructor objek motormu, nama motor YAMAHA , panggil metod nyalakan() dan tampilkan() , motor saat objek dibuat kondisi hidup (true) melalui construktor objek motornya, nama motor SUZUKU , panggil metod nyalakan() dan tampilkan() , gunakan construktor default 3 … lanjutan Modul 5 - Constructor, overloading, inheritance

Modul 5 - Constructor, overloading, inheritance Lanjutan.. 3. Definisikan suatu kelas Lingkaran dengan atribut R dan Luas serta method Cetak() yang menghasilkan output : LINGKARAN DENGAN JEJARI ... R LUASNYA ADALAH .... Definisikan kelas turunan dari kelas Lingkaran yaitu kelas Tabung dengan atribut tambahan TinggiTabung dan VolumeTabung serta overriding method Cetak() dengan menghasilkan output : “TABUNG DENGAN LUAS ALAS ... DAN TINGGI ... VOLUMENYA ADALAH ... Testlah kemampuan kelas tesebut dengan class TesTab simpan dalam file TesTab.java Deklarasi objek lingkaran dan objek tabung adalah : Lingkaran L1=new Lingkaran(2); /// lingkaran jejari 2 Tabung T1 = new tabung(2,4); // tabung Jejari alas 2 tinggi 4 Untuk memanggil method Cetak() L1.Cetak() T1.Cetak() Modul 5 - Constructor, overloading, inheritance