Pertemuan 10 Constructor dan Destructor

Slides:



Advertisements
Presentasi serupa
Pemrograman Berorientasi Objek (Project)
Advertisements

Pemrograman JAVA (TIB09)
Kelas & Objek.
Polymorphism Suatu fungsi anggota dari suatu class dapat dijadikan sebagai fungsi virtual Jika fungsi ini dideklarasikan kembali pada class turunan dan.
BAB V – KONSTRUKTOR DAN DESTRUKTOR
Overriding, Overloading, Polymorphism
POLIMORFISME 2 Imam Fahrur Rozi 01.
Pemrograman Berorientasi Obyek Oleh Tita Karlita
METHOD Object Oriented Programming with JAVA 2011/2012.
Class Member Access Control
Pertemuan : Object Oriented Programming
OBJECT ORIENTED PROGRAMMING YANES HARDIANTO SUI Politeknik Manufaktur Astra 2011.
07 Advanced Class Features
Bekerja dengan Java class library
Object Oriented Programming with JAVA 2011/2012
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.
1 Pertemuan 5 STREAM INPUT/OUPUT Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
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.
1 Pertemuan 2 Function & Pointer Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
Teknik Pemrog. Terstruktur 2
INHERITANCE (Oleh : Nur Hayatin, S.ST)
File Matakuliah: XXXX / Algoritma dan Metode Object Oriented Programming II Pertemuan: 9 Tahun: 2008 Versi: 1/0.
Try, Catch, Finally Throws
Pertemuan 6 PEWARISAN AND POLYMORPHISM
1 Pertemuan 8 Structure Data Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
METHODS Matakuliah: T0974 / Algoritma dan Metode Object Oriented Programming I Tahun: 2008 Versi: 1/0.
1 Pertemuan 18 Template Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
1 Pertemuan 5 Encapsulation Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
Kelas A dapat memiliki referensi ke obyek dari kelas- kelas lain sebagai anggota. Kadang-kadang disebut sebagai hubungan “has-a”. Sebagai contoh, sebuah.
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: >
Firman Asharudin | Pemrograman Lanjut
Class & Object Disusun Oleh: Reza Budiawan Untuk:
Outline: Class Objek Konstruktor Destruktor Overloading dan Tipe value
Pertemuan 10 Inheritance Lanjutan
5. Fungsi S. Indriani L, M.T 5. Fungsi.
METHODS Mr. Yasri Object Oriented Program.
Pemrograman Berorientasi Object
Constructor dan Overloading
Polymorphism Pertemuan 23-24
Constructor overloading
Constructor dan Destructor Pertemuan 17
Class dan Objek Lanjutan Pertemuan 18
Pertemuan 9 Pemrograman Berbasikan Objek
Pemrograman Berorientasi Objek
Sumber : repository.binus.ac.id/content/T0454/T ppt
Pemrograman Berorientsi Objek Pertemuan 15
Class, Objek, data, variabel dan operator
Kelas & Objek.
Membuat Kelas.
Inheritance lanjutan Pertemuan 22
QUIS Algoritma Pemrograman I
PBO Lanjutan Membuat Kelas.
Generic Data Type Pertemuan 25
DIKTAT PBO Oleh: Adam Mukharil B. S.Kom. BAB IV – CLASS (2)
Matakuliah : T0456 ~ Algoritma dan Metode Object Oriented Programming
Matakuliah : M0074/PROGRAMMING II Tahun : 2005 Versi : 1/0
Materi 9 Pembahasan CLASS Dalam C++
Konstruktor dan Destruktor
DIKTAT PBO Oleh: Adam Mukharil B. S.Kom. BAB III – CLASS (2)
Inisiasi Class dan Object
Pemrograman Berbasis Objek
Dasar-dasar Pemrograman Berbasis Obyek. kelas Kelas pada java didefinisikan dengan menggunakan kata kunci class.
- PERTEMUAN 2- CONSTRUCTOR
Transcript presentasi:

Pertemuan 10 Constructor dan Destructor Matakuliah : T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun : 2005 Versi : 5 Pertemuan 10 Constructor dan Destructor

Mahasiswa dapat Mengubah constructor dan destructor pada sebuah class Learning Outcomes Pada akhir pertemuan ini, diharapkan : Mahasiswa dapat Mengubah constructor dan destructor pada sebuah class

Macam - macam Constructor Deklarasi Objek Outline Materi Fungsi Constructor Fungsi Destructor Macam - macam Constructor Deklarasi Objek

Bertugas melakukan proses inisialisasi Nama constructor = nama class Adalah method yang pertama kali dikerjakan ketika suatu class diciptakan Bertugas melakukan proses inisialisasi Nama constructor = nama class Constructor harus dideklarasi sebagai public Dapat memiliki parameter, tetapi tidak mengembalikan nilai (void)

Macam-macam Constructor: Tiap class harus mempunyai minimal 1 (satu) constructor, bila tidak dideklarasikan oleh user,maka kompiler akan secara otomatis membuat default constructor. Macam-macam Constructor: Default constructor Constructor dengan parameter Copy constructor

Constructor yang didefinisikan tanpa argumen Default Constructor Constructor yang didefinisikan tanpa argumen class Point { //deklarasi kelas Point int x, y; //data x dan y koordinat public: Point(); //deklarasi konstruktor default void move(int, int); //fungsi untuk menggerakan titik void print(); //fungsi untuk mencetak di layar }; Point::point() { // definisi default constructor cout << “Constructor is called…” << endl; x = y = 0; } void main() { Point P1, P2; //constructor dipanggil dua kali

Constructor dengan parameter Seperti anggota fungsi yang lain, kontruktor juga dapat dideklarasikan dengan parameter atau argumen.

Contoh class Point { //deklarasi kelas Point int x, y; //data x dan y koordinat public: Point(int, int); //constructor declaration void move(int, int); //fungsi untuk menggerakan titik void print(); //fungsi untuk mencetak di layar }; //definisi constructor dengan parameter Point::point(int x1, int y1) { cout << “Constructor is called…” << endl; if (x1 < 0) x = 0; else x = x1; if (y1 < 0) y = 0; else y = y1; } // main program void main() { Point P1(20, 50), P2(-10, 8); //dipanggil dua kali Point p3; //ERROR

Constructor dengan parameter Parameter dari kontruktor dapat memiliki nilai default Point::point(int x1=0, int y1=0) { cout <<“Constructor is called…” <<“\n”; if (x1 < 0)x = 0; else x = x1; if (y1 < 0) y = 0; else y = y1; }

Constructor dengan parameter Dengan konstruktor ini obyek dapat dicipta dengan: Point P1(15, 75); //x=15, y=75 Point P2(100); //x=100, y=0 Sebagai kontruktor default: Point P3; //x=0, y=0

Copy Constructor Merupakan kontruktor khusus yang digunakan untuk mengcopi isi dasi suatu object ke dalam obyek baru yang sedang diciptakan. Tipe data dari parameter input adalah referance (alamat) dari obyek dengan tipe yang sama.

Contoh class String { int size; char *contents; public: String(const char *); //contructor String(cont String &); //copy contructor void Print(); }; //definisi fungsi copy contructor String::String(const String &object_in) { cout << ”copy constructor has been invoked” << endl; size = object_in.size; contents = new char[size+1]; strcpy(contents, object_in.contents); } void main() { String my_string(“string 1”); My_string.Print(); String other = my_string; //copy constructor dipanggil String more(my_string); //copy constructor dipanggil

Contoh constructor pada program bola pantul

Nama constructor = ~nama class Dectructor Adalah method yang terakhir kali dikerjakan sebelum siklus hidup object berakhir Bertugas melakukan proses deinisialisasi, clean up, dealokasi memory, dll Seperti kontruktor nama destructor sama dengan nama class dengan diberi tanda ~ di depan nama destructor Nama constructor = ~nama class

Didefinisikan tanpa return type dan tanpa argument (parameter). Dectructor Didefinisikan tanpa return type dan tanpa argument (parameter). Destructor dideklarasi sebagai public

Contoh class String { int size; char *contents; public: String(const char *); //contructor void Print(); ~String(); }; //definisi contructor String::String(const char *in_data) { cout <<”contructor has been call” << endl; size = strlen(in_data); contents = new char[size+1]; strcpy(contents, in_data); }

Contoh Lanjutan void String::Print() { cout << contents << “ “ << size << endl; } //definisi destructor String::~String() { Cout << “Destructor has been invoked” << endl; Delete [] contents; int main() { String string1(“String 1”); String string2(“String 2”); string1.Print(); string2.Print(); Return 0; //destructor dipanggil 2 kali

Contoh destruktor pada program bola pantul Contoh Destructor Contoh destruktor pada program bola pantul

Pemanggilan constructor & destructor Constructor & destructor dipanggil secara otomatis. Constructor pada object global dipanggil sebelum fungsi main dieksekusi dan destructor dikerjakan setelah fungsi main selesai dieksekusi. Constructor pada object lokal dipanggil otomatis saat object dedefinisikan dan destructornya dieksekusi setelah proses object selesai. Pada object static lokal, constructor dipanggil sekali pada saat object didefinisikan dan destructornya dipanggil setelah fungsi main selesai.

(diskusikan dalam kelompok) Penutup Untuk dapat Mengubah constructor dan destructor pada sebuah class, mahasiswa membahas tugas pertemuan 10 no 1, 2, dan 3. (diskusikan dalam kelompok)