class Lingkaran { public: Object-oriented Programming FTI - Budi Luhur - Jakarta 2 float jari_jari; void diameter(); float luas(); }; void Lingkaran :: diameter() { float x; x = jari_jari * 2; cout << diameter << x <<endl ; }; float lingkaran :: luas() { clrscr(); float x; x = 3.14 * (jari_jari * jari_jari); return x; };
CIuss dun Obgect
0e|aras| oojecl d||a|u|ar dergar rerggura|ar oojecl var|aoe| yarg d|de||aras||ar pada pada prograr ulara. Perde||aras|ar dapal d||a|u|ar dergar dua cara ya|lu dergar rerggura|ar nama dar dergar rerggura|ar pointer. Perde||aras|ar dergar rerggura|ar rara pada c d||a|u|ar dergar cara
void main() { Lingkaran coin; float x; coin jari_jari = 2; coin.diameter(); x = coin.luas(); cout << luas lingkaran =<< x << endl ; }
Perde||aras|ar dergar rerggura|ar po|rler pada C d||a|u|ar dergar cara
void main() { Lingkaran *coin; float x; coin ->jari_jari = 2; coin ->diameter(); x = coin->luas(); cout << luas Lingkaran = << x << endl ; }
Object-oriented Programming FTI - Budi Luhur - Jakarta 3 # include <iostream.h> # include <conio.h> class x { int x, y; public: x() ; // Constructor void f1(); }; void x::x() { cout << initial X; } void x::f1() { cout << metode F1() pada class X << endl ; };
void main() { x obj; obj.f1(); }
Corslruclor dapal rer||||| sejur|ar parareler. Peroer|ar r||a| pada argurer urlu| corlruclor d||a|u|ar pada saal sualu oojecl var|aoe| d|de||aras||ar
Confoh: # include <iostream.h> # include <conio.h>
class x { int x,y; public: x ( int m, int n); // constructor void f1(); }; void x::x ( int m, int n) { x ~ m, y ~ n, couf "HosiI perkoIionnyo " x^y endI, }
void x::fI() { couf "FI() moduI yong odo podo cIoss X " endI , },
de||aras| oojecl var|aoe| pada oojecl yarg d|r||||| corslruclor dergar parareler d||a|u|ar dergar cara void main() Object-oriented Programming FTI - Budi Luhur - Jakarta 4 { x w(5,1); w.f1(); // body of main program }
Class < nama base class> { <deklarasi member untuk base class> };
class <nama derive class> : public <nama base class> { <deklarasi member untuk derive class>; Object-oriented Programming FTI - Budi Luhur - Jakarta 5 }
Confoh: # include <iostream.h> # include <conio.h>
class x { int a; protected: int b; public: int c void f1(); }; void x::f1() { cout << metode f1() dieksekusi << endl; }; class y : public x { int d; public: float e; void f2(); };
void main() { clrscr(); x obj1; y obj2; obj2.f1(); obj2.f2(); ... // tubuh dari program }
Contructor dun Destructor pudu Inheritunce
Corslruclor pada oase c|ass rarya d||a|u|ar pada c|ass yarg lerseoul saja. Corslruclor pada der|ve c|ass a|ar re||oal|ar corslruclor pada oase c|ass. 0eslruclor pada oase c|ass a|ar re||oal|ar der|ve c|ass. 0eslruclor pada 0er|ve c|ass rarya a|ar re||oal|ar c|ass lerseoul. Object-oriented Programming FTI - Budi Luhur - Jakarta 6
Corslruclor tanpa parareler: corlor
# include <iostream.h> # include <conio.h> // deklarasi base class class dasar { public: dasar(); ~dasar(); }; void dasar::dasar() { cout << Constructor kelas dasar << endl; } void dasar::~dasar() { cout << Destructor kelas dasar << endl; }
//deklarasi kelas turunan class turunan : public dasar { public: turunan(); ~turunan(); }; void turunan :: turunan() { cout << Constructor kelas turunan << endl; } void turunan :: ~turunan() { cout << Destructor kelas turunan << endl; }
void main() { clrscr(); cout << varibale X adalah kelas dasar <<endl ; dasar x; cout << varibale Y adalah kelas Turunan <<endl ; turunan y; }
Corslruclor dengan parameter. Corlor:
// Dekarasi base class class dasar { int x; public: Object-oriented Programming FTI - Budi Luhur - Jakarta 7 void dasar( int xx) int get_x(); }
void dasar :: dasar (int xx) { x = xx;}
int dasar ::get_x() {return x;}
// deklarasi Derive class I class turunan1 : public dasar { int y; public: void turunan1 (int xx, int yy) : dasar (xx); int get_y(); }
void turunan1::turunan1(int xx, int yy) : dasar (xx) { y = yy };
int turunan1 :: get_y() { return y;};
// deklarasi Derive class II class turunan2 : public turunan1 { int z; public: void turunan2 (int xx, int yy, int zz) : turunan1(xx, yy); int get_z(); } void turunan2::turunan2(int xx, int yy, int zz ) : turunan1(xx, yy) { z = zz }; int turunan2 :: get_z() { return z;};
//Main program void main() { turunan2 obj(9, 3, 7); cout << Nilai X : << obj.get_x() << endl; cout << Nilai X : << obj.get_y() << endl; cout << Nilai X : << obj.get_z() << endl; }
MuItipIe inheritunce
Pada |asus lerlerlu a|ar d|rurg||r|ar oarWa sualu oer|ve c|ass a|ar rer||||| |eo|r dar| salu oase c|ass, dergar |ala |a|r oarWa oeoerapa c|ass a|ar rer||||| lururar pada salu c|ass yarg sara. Po|a peWar|sar seperl| |r| d|seoul dergar Vu|r|p|e |nner|rance. Pada C de||aras| yarg d|oer||ar urlu| |asus |r| ada|ar:
Class <nama base class> { < deklarasi member untuk base class>; Object-oriented Programming FTI - Budi Luhur - Jakarta 8 };
class <nama derive class>:public<nama base class I>,public<nama base class n> { < deklarasi member untuk derive class>; };
Confoh:
# include <iostream.h> # include <conio.h>
class dasar1 { public: int x; void f1(); };
void dasar1::f1() { cout << Metode f1() pada class dasar << endl ; }
class dasar2 { public: int w; void f2(); }; void dasar1::f1() { cout << Metode f2() pada class dasar << endl ; }
class turunan: public dasar1, public dasar2 { public : int z; void f3(); }
void dasar1::f1() { cout << Metode f3() pada class turunan << endl ; }
void main() { clrscr(); turunan zz; zz.f3() dasar1 c ; c.f3(); // error karena f3() bukan member dari dasar1 ...... //tubuh dari program }
Object-oriented Programming FTI - Budi Luhur - Jakarta 9 PoIymorphism
Ear|, o|no|ng, peruju|ar d||a|u|ar pada saal proses |orp||as| d||a|u|ar, o,nam|c o|no|ng, peruju|ar d||a|u|ar pada saal prograr d|e|se|us|.
Perde||aras|ar relode v|rlua| pada oase c|ass a|ar ||ul reWa|||| se|urur der|ve c|ass urlu| relode yarg sara. Perde||aras|ar relode v|rlua| pada der|ve c|ass rerga||oal|ar relode yarg d|a|o|as||ar ada|ar relode yarg ada pada oase c|ass yarg apao||a relode yarg ada pada oase c|ass lerseoul l|da| d|de||aras||ar urlu| oerlu| v|rlua|.
6ontoh 1
# include <iostream.h> # include <conio.h> class dasar { public : void cetak(); };
void dasar :: cetak() { cout << metode cetak dari class dasar << endl ; };
class turunan: public dasar { public : void cetak(); };
void turunan ::cetak() { cout << metode cetak dari class turunan << endl ; };
void main() { clrscr(); dasar d ; turunan t ; t.cetak(); // coba ditambahkan statement d.cetak () }
Contoh Z
# include <iostream.h> # include <conio.h> class dasar { Object-oriented Programming FTI - Budi Luhur - Jakarta 10 public : void cetak(); }; void dasar::cetak() { cout << metode cetak dari class dasar << endl ; }; class turunan: public dasar { public : void cetak(); }; void dasar::cetak() { cout << metode cetak dari class turunan << endl ; }; void main() { dasar *d; turunan t; d = &t ; d->cetak(); }
Contoh 3
# incIude iosfreom.h # incIude conio.h
cIoss dosor { pubIic : void cefok(), }, cIoss dosor::cefok() { couf "mefode cefok dori cIoss dosor" endI , } cIoss furunon: pubIic dosor { pubIic : virtuuI void cefok(), }, void furunon ::cefok() { couf "mefode cefok dori cIoss furunon" endI , }, void moin() { dosor^ d: furunon f: d ~&f, d -cefok(), }
Contoh 4
# incIude iosfreom.h # incIude conio.h cIoss dosor { pubIic : virtuuI void cefok(), }, void dosor::cefok() { couf "mefode cefok dori cIoss dosor" endI , }, Object-oriented Programming FTI - Budi Luhur - Jakarta 11 cIoss furunon: pubIic dosor { pubIic : void cefok(), }, void dosor::cefok() { couf "mefode cefok dori cIoss furunon" endI , },