Ada 3 konsep dasar pada Pemrograman BerOriantasi Objek, yaitu
- Encapsulation, yaitu dengan class
- Inheritance, yaitu dengan subclass
- Polymorphism, fungsi yang sama dalam class yang berbeda
Untuk itu kita akan kupas satu satu,
Encapsulation adalah pengelompokan data dan fungsi menjadi satu dalam sebuah class dan memilki batasana akses dengan default privat
Tujuan utama dari encapsulation adalah menyembunyika informasi (information hiding)
Bagaimana kita melakukan encapsulation?
Yaitu dengan membuat sebuah class. Sebuah class terdiri dari data (data member / property)dan fungsi(member function / method / operation / implementation / behaviour)
Beda class dan struct :
Struct hanya dapat menyimpan data / hanya menggabungkan data yang memiliki perbedaan type data, dan dapat diakses oleh semua fungsi (defaultnya public).
Ckass dapat menggabungkan data dan fungsi dan memiliki data yang idependen dan data nya dapat saling berhubungan. Dan memiliki fungsi masing masing, selain itu datanya nya juga tidak dapat diakses sembarang fungsi (defaultnya privat).
3 acces level data pada class:
- public : bagian class yang dapat diakses oleh umum, baik dari dalam maupun dari luar class(seperti stuct).
- protected : bagian class yang dapat diakses lingkunagn internal class dan class turunannya.
- private : bagian class yang hanya dapat diakses oleh lingkungan internal class itu sendiri.
Contoh :
Class product
{
Public : int no_brg;
Char nma_brg;
Float harga;
Int stok;
};
Product barang;//barang adalah class object
// kata public diatas adalah untuk memberi kan acces pada data dari class.
Cara mendeklarasikan sebuah object class:
Product product_objek; // objek biasa
Product product_array[10]; // objek array
Product *product_ptr; // objek pointer
Product &product_ref; // objek reference
Dalam sebuah class kita akan menemukan construktor dan destruktor.
Construktor adalah member function yang pertama kali dikerjakan ketika suatu objek di buat.
Dengan syarat :
- nama construktor harus sama dengan nama classnya, tapi diketik tampa ada return value).
- digunakan untuk inisialisasi objek, karena construktor adalah yang pertama kali di jalankan.
- Minimal ada 1 construktor dalam 1 class(bisa dibuat lebih/ di overload), jika tidak dibuat, compiler akan membuat sendiri secara default
- Dapat di berikan argumen
- Tidak memiliki return value
Destruktor adalah member function yang dikerjakan ketika 1 object di hancurkan (pengakhiran suatu objek)
Dengan syarat :
- Nama destruktor sama dengan nama classnya ditambah tanda tilde(~) didepannya
- Untuk de-inisialisasi / meng-clean up / dealokasi memory
- Hanya ada 1 destruktor
- Tidak memiliki argumen
- Tidak memiliki return value
Contoh:
Class time
{
Private : int hour;
int minute;
int second;
public : time(); //ini adalah construktor
void set_time(int,int,int);
void print_univ();
void print_biasa();
~time(); // ini adalah construktor
};
Cara mengakses member function yaitu deng amenggunakna operator (::)
Contoh:
Class time
{
Private : int hour;
int minute;
int second;
public : time();
{hour=minute=second=0;}
void set_time(int,int,int); // adalah sebuah prototype dari member function
void print_univ(); // adalah sebuah prototype dari member function
void print_biasa(); // adalah sebuah prototype dari member function
~time();
};
void Time :: set_time( int h, int m, int s )
{ hour = ( h >= 0 && h < 24 ) ? h : 0;
minute = ( m >= 0 && m < 60 ) ? m : 0;
second = ( s >= 0 && s < 60 ) ? s : 0;
}
void Time :: print_univ()
{ cout << setfill( '0' ) << setw( 2 ) << hour << ":"
<< setw( 2 ) << minute << ":"
<< setw( 2 ) << second;
}
void Time :: print_biasa()
{ cout << ( ( hour == 0 || hour == 12 ) ? 12 : hour % 12 )
<< ":" << setfill( '0' ) << setw( 2 ) << minute
<< ":" << setw( 2 ) << second
<< ( hour < 12 ? " AM" : " PM" );
}
Sekian dulu tentang OO-nya. Tetep semangat y bljr pemrogramannya
^^

0 komentar:
Posting Komentar