POLIMORFISME.

Slides:



Advertisements
Presentasi serupa
Pemrograman Berorientasi Objek
Advertisements

Pemrograman Berorientasi Objek (Project)
PERTEMUAN 4 PEMROGRAMAN API OOP Concept mudafiqriyan.com.
Pemrograman Berorientasi Objek
Polymorphism Suatu fungsi anggota dari suatu class dapat dijadikan sebagai fungsi virtual Jika fungsi ini dideklarasikan kembali pada class turunan dan.
Modul 14 – Hendi Hermawan - 1
PEWARISAN ( INHERITANCE)
Abstract Class & Interface
Pemrograman Berbasis Objek
Inheritance ImamFahrur Rozi.
di OBJECT ORIENTED PROGRAMMING [OOP] Oleh H. SUMIJAN, Ir, M.Sc
Overriding, Overloading, Polymorphism
ABSTRAKSI DAN GENERALISASI
7 Rekayasa Sistem Konsep Utama OOP Dedy Alamsyah, S.Kom.
Overriding, Overloading, Polymorphism
POLIMORFISME 2 Imam Fahrur Rozi 01.
Polymorpism.
Class, Inheritance, Encapsulation & Interface
Class.
CLASS Tipe data kelas didefinisikan dengan kata kunci (keyword) class, yang merupakan generalisasi dari pernyataan struct. Pernyataan struct secara umum.
Abstract Class.
Bagian 6 Pembahasan Kelas Dalam C++
KONSTRUKTOR & DESTRUKTOR
Polymorphism (bag. 2).
Teknik Pemrograman Terstruktur Linked lis & Inheritance 1/12 Pointer (Lanjutan…) Pemrograman Berorientasi Objek.
1 Pertemuan 17 Polymorphism Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
1 Pertemuan 9 Inheritance Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
Pertemuan 6 PEWARISAN AND POLYMORPHISM
Object Oriented Programings Pertemuan 11
INHERITANCE (PEWARISAN)
INHERITANCE & POLIMORPHISME Pertemuan Inheritance
PEMROGRAMAN VISUAL II Agenda Perkuliahan :
POLYMORPHISM, ABSTRACT CLASS DAN INTERFACE
OBJEK dan KELAS Sutrisno PTIIK-UB.
Access Modifier.
Inheritance dan Kata Kunci static
Pemograman Berorientasi Objek
POLYMORPHISM, ABSTRACT CLASS DAN INTERFACE
Pewarisan Disusun Oleh: Reza Budiawan Untuk:
10. Kelas S. Indriani L, M.T.
Outline: Abstract Class Interface Boxing dan Unboxing
MODIFIER JAVA.
POLYMORPHISM.
Polymorphism Pertemuan 23-24
KELOMPOK 9 ROBBY SETIAWAN AKBAR BAI ALIM WASSAHUA
Constructor overloading
INHERITANCE (PEWARISAN)
MEMBUAT CLASS SENDIRI 2.
PEMOGRAMAN Kelas dan Perwarisan.
METODE (2) SUSSI.
Melda Dahoklory,S.Kom,MT
Interface Pertemuan 2.
Class.
Object Oriented Programming
Polymorphism (bag. 2).
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding PBO.
Visibility, Getter Setter, Pewarisan, Overloading dan Overriding
Materi 9 Pembahasan CLASS Dalam C++
Visibility, Getter Setter, Pewarisan, Overloading dan Overriding
Pemrograman Berorientasi Object
Interface pada Java Untuk memahami lebih mudah, interface sekumpulan dari method-method yang dibuat tapi belum ada operasi di dalam tubuh method tersebut,
Polimorphism Dosen Pengampu : Nur Iksan.
Pemrograman Berorientasi Object
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding Pemrograman.
Pemrograman Berbasis Objek
ABSTRAKSI DAN GENERALISASI
Dasar-dasar Pemrograman Berbasis Obyek. kelas Kelas pada java didefinisikan dengan menggunakan kata kunci class.
- PERTEMUAN 2- CONSTRUCTOR
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding PBO.
FONDASI PEMROGRAMAN & STRUKTUR DATA #8
Transcript presentasi:

POLIMORFISME

Fungsi Virtual Fungsi virtual adalah fungsi anggota yang dideklarasikan dengan menggunakan keyword “Virtual” Guna fungsi virtual: Misal pada kelas dasar terdapat fungsi virtual. Kemudian fungsi tersebut dideklarasikan lagi pada kelas turunan. Misalnya lagi sebuah pointer diciptakan untuk menunjuk ke kelas dasar. Selanjutnya pointer dapat memilih obyek yang tepat kalau fungsi anggota virtual tersebut dipanggil melalui pointer Contoh: 1. Kegunaan fungsi virtual – definisi fungsi didalam kelas (virtual1.cpp) 2. Kegunaan fungsi virtual – definisi fungsi diluar kelas (virtual2.cpp)

Keterangan Fungsi Virtual Fungsi virtual halo() didefinisikan di kelas OrangTua (kelas dasar) Fungsi halo() juga didefinisikan di kelas Anak dan kelas Cucu Sebuah pointer ot1 diciptakan yang bertipe OrangTua Pointer kemudian diatur untuk menunjuk ke obyek anak1 yang bertipe Anak Ketika fungsi anggota lihat() dipanggil dari pointer, ternyata yang muncul adalah fungsi lihat() dari kelas OrangTua Ketika fungsi anggota halo() dipanggil dari pointer, ternyata yang muncul adalah fungsi halo() dari kelas Anak Hal ini terjadi karena halo() adalah fungsi virtual Hal serupa juga terjadi ketika pointer menunjuk ke obyek cucu1

Polimorfisme Polimorfisme berarti mempunyai banyak bentuk Salah satu bentuk polimorfisme adalah overloading terhadap fungsi dan operator Polimorfisme semacam ini disebut polimorfisme saat kompilasi (compile time polimorphism) Bentuk polimorfisme lainnya adalah polimorfisme saat eksekusi (execution time polimorphism), disebut juga late binding atau dynamic binding Polimorfisme macam ini mampu menangani dua atau lebih obyek pada saat eksekusi dengan menyesuaikan terhadap lingkungan obyek yang bersangkutan Contoh program virtual1.cpp dan virtual2.cpp menunjukkan hal ini

Fungsi Virtual Murni Fungsi virtual pada kelas dasar tidak pernah diakses sehingga tidak berguna Hal ini karena tidak pernah ada penciptaan obyek dari kelas dasar Contoh: Fungsi halo() pada kelas OrangTua tidak pernah diakses karena obyek berkelas OrangTua tidak pernah diciptakan Karena tidak berguna, isi fungsi virtual bisa dihapus dengan cara menambahkan = 0 setelah tanda () virtual void halo() = 0; Fungsi virtual tanpa isi disebut dengan fungsi virtual murni

Fungsi Virtual Murni Contoh: 3. Fungsi virtual murni – definisi fungsi didalam kelas (virmurn1.cpp) 4. Fungsi virtual murni – definisi fungsi diluar kelas (virmurn2.cpp)

Kelas Abstrak Kelas Abstrak adalah kelas yang dideklarasikan namun tidak untuk menciptakan obyek Ciri kelas abstrak: Mengandung paling tidak satu fungsi virtual murni Contoh: Kelas OrangTua pada contoh program merupakan kelas abstrak Kelas abstrak tidak dapat dipakai untuk menciptakan obyek, sehingga pernyataan berikut tidak diperkenankan: OrangTua ot1; Namun penciptaan pointer bertipe kelas abstrak bisa dilakukan: OrangTua *ot1;

Kelas Dasar Virtual Gambar pewarisan bertingkat Bisa terjadi masalah pada kelas Cucu bila pendeklarasian dilakukan seperti pada contoh didepan

Kelas Dasar Virtual Contoh: Misal pada kelas OrangTua terdapat anggota data “nama” bertipe protected. Anggota data ini akan diwariskan ke Anak1 dan Anak2. Karena kelas Cucu merupakan gabungan dari kelas Anak1 dan Anak2, maka akan terdapat dua anggota data “nama” pada kelas Cucu. Cara mengatasi : dengan menggunakan keyword virtual pada saat pendeklarasian kelas turunan class Anak1 : virtual public OrangTua{}; class Anak2 : virtual public OrangTua{}; Dengan menggunakan keyword virtual, hanya akan terdapat satu anggota data untuk kedua kelas turunan

Kelas Dasar Virtual Contoh: 5. Pewarisan dengan menggunakan keyword virtual (wrsvirtu.cpp)

Latihan Buatlah program yang berisi menu untuk menghitung luas dari berbagai macam bangun dengan menggunakan fungsi virtual Buatlah program yang berisi menu untuk melakukan berbagai macam operasi aritmatika dengan menggunakan fungsi virtual