Perbedaan pemograman tradisional dan berorientasi
objek adalah pada cara menyelesaikan suatu permasalahan. Pada pemograman
tradisional dalam memecahkan suatu masalah, masalah akan dibagi menjadi
fungsi-fungsi yang lebih kecil, sedangkan pada pemograman berorientasi objek
(PBO) setiap masalah diselesaikan dengan cara dibagi ke dalam objek-objek.
Pada
PBO dilakukan pembungkusan data (attributes) dan fungsi (behavior) ke paket
yang disebut kelas. Attributes merupakan
data yang menggambarkan status internal sebuah objek dan biasanya merupakan “members variables” pada C++, tidak dapat
di akses dari luar (enkapsulasi), dan juga sebagai “state”. Methods merupakan
fungsi yang mengakses status internal sebuah objek dan biasanya merupakan “member fungtions” pada C++, dapat
diakses dari luar, memanipulasi atribut, dan disebut juga “behavior”. Berikut ini merupakan gambaran mengenai objek.
Kelas (class) terdiri
dari model objek yang memiliki atribut (data members) dan behaviors (member fungtions), dan member fungtions yaitu method
yang dipanggil sebagai reponse terhadap pesan. Kelas didefinisikan dengan keywordclass.
Mode akses yang ada pada kelas ada tiga, yaitu private yang merupakan default mode akses dan dapat diakses
oleh member fungtions, public yang dapat diakses oleh setiap Accessible
fungsi dalam program, dan protected yang
biasanya digunakan untuk pewarisan.
Fungsi constructor
merupakan member fungtions khusus yang menginisialisasi deta members dan
memiliki nama yang sama dengan nama kelas. Fungsi constructor dipanggil saat
membuat objek dari kelas dan tidak memiliki tipe balikan.
Member fungtions yang didefinisikan di luar kelas dilakukan
dengan menggunakan binary scope
resolution operator (::) yang berfungsi untuk “mengikat” nama fungsi ke
nama kelas dan mengidentifikasikan fungsi dari suatu kelas tertentu. Berikut
format dari member fungtions.
NilaiBalikan NamaKelas: :NamaFungsi () {
……
}
Member fungtions yang
didefinisikan di dalam kelas tidak membutuhkan scope resolution operator dan
nama kelas.
contoh programnya :
#include
#include
Class
sepeda {
Public:
Sepeda
(int, int, int);
Void
mengubahPutaran (int);
Void
mengubahGir (int);
Void
mengerem (int);
Void
tampilanInfo ();
Private:
Int
kecepatan;
Int
putaran;
Int
gir;
};
Sepeda:
:sepeda (int k, int p, inr g)
{
Kecepatan
= k;
Putaran
= p;
Gir
= g;
}
Void
sepeda: :menggubahPutaran (int p)
{
Putaran
= p;
}
Void
sepeda: : mengubahGir (int g)
{
Gir
= g;
}
Void
sepeda::mengerem()
{
Cout<<
“Kecepatan dan Putaran berkurang ...” ;
}
Void
sepeda::tampilInfo()
{
Cout<<
“Gir : “ << gir << endl << “kecepatan : “
<
}
Int
main()
{
Sepeda sepeda1(10,60,3),
Sepeda2(4,12,10,
Sepeda3(35,80,5);
Sepeda1.tampilInfo();
Sepeda2.tampilInfo();
Sepeda3.tampilInfo();
-
getch();
return
0;
}
contoh lainnya, program untuk menghitung volume dan
keliling sebuah kotak, dengan rumus V = panjang x lebar x tinggi, dan K = (2 x
panjang) + (2 x lebar) + (2 x tinggi). Program tersebut harus memiliki
setidaknya 1 (satu) buah classdan 1
(satu) buah constructor.
#include
#include
class
kotak
{
public:
void vol();
void kel();
private:
int p,l,t,v,k;
};
void kotak::vol()
{
cout<<"Mencari Volume dan Keliling Kotak"<
cout<
cout<<"masukan panjang : ";cin>>p;
cout<<"masukan lebar
: ";cin>>l;
cout<<"masukan tinggi
: ";cin>>t;
cout<
v=p*l*t;
cout<<"Volume Kotak adalah : "<
}
void kotak::kel()
{
k=(2*p)+(2*l)+(2*t);
cout<<"Keliling Kotak adalah : "<
}
int main()
{
kotak a;
a.vol();
cout<
cout<
a.kel();
getch();
return 0;
}
Tidak ada komentar:
Posting Komentar