Inheritance lanjutan Pertemuan 22

Slides:



Advertisements
Presentasi serupa
Introduction to Algorithm evaluation Soal Matrikulasi Buka Buku
Advertisements

Fungsi Friend Dalam bahasa C++ kita dapat membuat suatu fungsi yang berada di luar kelas (class) dan dapat meng-ak-ses bagian private suatu kelas. Fungsi.
Inheritance (pewarisan)
BAB III – CLASS (1) DIKTAT PBO Oleh: Adam Mukharil B. S.Kom.
PENGENALAN c++ DAN STRUKTUR DASAR C++
Algoritma dan Struktur Data
OPERATOR OVERLOADING The ability to provide the operators with a special meaning for a data type but its original meaning is not lost. Example: Operator.
PEMROGRAMAN SISTEM PERNYATAAN DASAR PILIHAN Pertemuan V
Class, Inheritance, Encapsulation & Interface
Class Member Access Control
#include //bagian modul int hitung(x,y) { return(x+y); } //bagian utama main() { int jumlah,a,b; a=8; b=2; jumlah=hitung(a,b); cout
1 Pertemuan 14 Operator Overloading Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
Operator Overloading Pertemuan 20 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
1 Pertemuan 4 ELEMEN DASAR C++ Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
Class and Object Introduction Specifying a Class Defining Member Function A C++ Program with Class Nesting of Member Functions Private Member Functions.
Structure Data - Array Pertemuan 7 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
Friend. Adalah fungsi bukan anggota kelas yg dapat mengakses anggota kelas. Secara umum friend berguna jika terdapat suatu operasi yg hendak mengakses.
1 Pertemuan 6 Encapsulation Lanjutan Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
STREAM INPUT/OUPUT Pertemuan 4 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
1 Pertemuan 5 STREAM INPUT/OUPUT Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
Bab 05 Tipe Data dan Mengisi Variabel
FUNCTIONS Pertemuan 9 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
Inheritance Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 4 Tahun : 2008 Versi : 1/0.
1 Pertemuan 9 Inheritance Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
Class and Object Matakuliah : XXXX / Algoritma dan Metode Object Oriented Programming II Pertemuan : 2 Tahun : 2008 Versi : 1/0.
OPERASI JUMP DAN EXCEPTION HANDLING
Pertemuan 7 stack jual [Valdo] Lunatik Chubby Stylus.
Pertemuan 6 PEWARISAN AND POLYMORPHISM
1 Pertemuan 8 Structure Data Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
1 Pertemuan 18 Template Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
Struktur Kendali Pengulangan Pertemuan 6 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
Pertemuan 8 Stack dengan Array
Pertemuan 9 Stack dengan Linked-list
1 Pertemuan 5 Encapsulation Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
Pertemuan 10 Constructor dan Destructor
Matakuliah : T0456 / Algoritma dan Metode Object
Algoritma sorting dasar (lanjutan) Pertemuan 11
1 Pertemuan 16 Multiple Inheritance Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
1 Pertemuan 8 Array & Pointer of Class Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
1 Pertemuan 12 Template Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
// Contoh program c++ dengan fungsi template
1 Pertemuan 10 Pemrograman Berorientasi Objek Matakuliah: >/ > Tahun: > Versi: >
Kontrak Kuliah Pengenalan OOP
4. File Data Structure + Algorithm = Program UNIV. INDONUSA Esa Unggul.
File & Stream - Yessy Asri
Pengertian Algoritma Pemrograman Pertemuan 1
Inheritance (2).
Pertemuan 10 Inheritance Lanjutan
Constructor dan Overloading
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
Inheritance Pertemuan 8
Polymorphism Pertemuan 23-24
File & Stream - Yessy Asri
Constructor dan Destructor Pertemuan 17
Inheritance Pertemuan 21
Struktur.
Class dan Objek Lanjutan Pertemuan 18
Pertemuan 9 Pemrograman Berbasikan Objek
C++ static.
Sumber : repository.binus.ac.id/content/T0454/T ppt
Pemrograman Berorientsi Objek Pertemuan 15
Structure Data - Struct Pertemuan 8
Matakuliah : M0864/Programming I
Generic Data Type Pertemuan 25
Matakuliah : T0456 ~ Algoritma dan Metode Object Oriented Programming
Double STACK 6.3 & 7.3 NESTED LOOP.
C++ Polymorphism.
(Object Oriented Programming)
Inheritance (pewarisan)
File & Stream - Yessy Asri
Transcript presentasi:

Inheritance lanjutan Pertemuan 22 Matakuliah : T0456 / Algoritma dan Metode Object Oriented Programming Tahun : 2007 Inheritance lanjutan Pertemuan 22

Pada akhir pertemuan ini, diharapkan: Learning Outcomes Pada akhir pertemuan ini, diharapkan: Mahasiswa dapat menghasilkan program yang menggunakan konsep inheritance. Buku Referensi: C++ - How to program, Deitel & Deitel, Prentice Hall, 2001. Websites: http://www.deitel.com 3 Bina Nusantara

Outline Materi Constructor dan Destructor pada inheritance Modifikasi class turunan Hirarki class inheritance Contoh program 4 Bina Nusantara

Constructor dan Destructor dalam Inheritance Constructor based class dijalankan terlebih dahulu, kemudian constructor derived class. Destructor derived class dijalankan terlebih dahulu dengan urutan berbalikan dengan urutan constructor. Urutan juga berlaku untuk multiple inheritance. Jika konstruktor based class memiliki parameter, maka parameter constructor based class tersebut harus dimasukkan dalam constructor derived class. Jika parameter constructor derived class ada yang tidak sama dengan constructor based class, maka constructor based class yang akan dijalankan adalah constructor yang memiliki jumlah dan parameter yang paling mendekati. Bina Nusantara

Constructor dan Destructor dalam Inheritance Example class Based1{ Base1(){ cout<<“1”; }; ~Base1(){ cout<<“A”; }; } class Based2:public Based1{ Base2(){ cout<<“2”; }; ~Base2(){ cout<<“B”; }; class Derived:public Based2 { Derived(){ cout<<“3”; }; ~Derived(){ cout<<“C”; }; Void main(){ Derived MyObj; Menghasilkan keluaran: 123CBA Bina Nusantara

Modifikasi Fungsi Klas Turunan Klas turunan (derived class) memiliki member functions yang sama dengan klas utama (base class) Member functions tersebut dapat dimodifikasi disesuaikan kebutuhan kelas tersebut Bina Nusantara

// Program C++ -Overload functions Klas turunan Contoh Program // Program C++ -Overload functions Klas turunan #include <iostream.h> #include <process.h> const int MAX =100; class Stack { protected : int st[MAX}; int top; public : Stack() { top = o ; } void push( int var ) { st[ ++top ] = vbar ;} int pop() { return st[ top -- ] ; } }; Bina Nusantara

class Stack 2 : public Stack { public : void push( int var ) { if ( top < MAX ) Stack :: push( var ); else { cout << “ \nError : stack is full ”; exit(1); } int pop() { if (top > 0 ) return(Stack :: pop()); cout<< “\nError : stack is empty ” ; }; Bina Nusantara

s1.push(11); s1.push(22); s1.push(33); void main() { Stack2 s1; s1.push(11); s1.push(22); s1.push(33); cout << endl << s1.pop(); cout << endi << s1.pop(); } Bina Nusantara

Hirarki Klas Satu klas utama dapat memiliki beberapa klas turunan yang masing-masing berbeda. Employee Name Number GetData() PutData() Laborer Scientist Pubs Manager Title Dues Bina Nusantara

#include <iostream.h> const int LEN = 80; class employee { private : char name[LEN]; unsigned long number; public : void getdata() { cout << “ \nEnter Last Name : “ ; cin >> name; cout << “\nEnter number : “ ; cin >> number; } void putdata() { cout << “ \n Name : “ << name; cout << “ \n Number : “ << number; }; Bina Nusantara

class manager : public employee { private : char title[LEN]; double dues; public : void getdata() { employee :: getdata(); cout << “ \nEnter Title : “; cin >> title; cout << “ \n Golf club dues : “ << dues; cin >> dues; } void putdata() { employee :: putdata(); cout << “ \nTitle : “; << dues; }; Bina Nusantara

class scientist : public employee { private : int pubs; public : void getdata() { employee :: getdata(); cout << “\nEnter # pubs: “; cin >> pubs; } void putdata() { employee :: putdata(); cout << “ \n# publications : “; << pubs; }; class laborer : public employee{ }; Bina Nusantara

cout << “ \nEnter data for manager 1 ” ; m1.getdata(); void main() { manager m1, m2; scientist s1; laborer l1; cout << “ \nEnter data for manager 1 ” ; m1.getdata(); cout << “ \nEnter data for manager 2 ” ; m2.getdat(); cout << “ \nEnter data for scientist 1 ” ; s1.getdata(); cout << “ \nEnter data for laborer 1 ” ; l1.getdata(); cout << “\nData on manager 1’; m1.putdata(); cout << “\nData on manager 2”; m2.putdata(); cout << “\nData on scientist 1”; s1.putdata(); cout << “\nData on laborer 1”; l1.putdata(); } Bina Nusantara

Diskusi dan Tanya Jawab Latihan soal 16 Bina Nusantara