Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

1 Pertemuan 10 Pemrograman Berorientasi Objek Matakuliah: >/ > Tahun: > Versi: >

Presentasi serupa


Presentasi berjudul: "1 Pertemuan 10 Pemrograman Berorientasi Objek Matakuliah: >/ > Tahun: > Versi: >"— Transcript presentasi:

1 1 Pertemuan 10 Pemrograman Berorientasi Objek Matakuliah: >/ > Tahun: > Versi: >

2 2 Learning Outcomes Konsep Encapsulation Struct vs Class Class Access Control Constructor & Destructor Object Class Access with scope resolution operator ( :: )

3 3 Konsep Encapsulation Encapsulation  pengelompokan data dan functions menjadi satu dalam sebuah class. Memiliki batasan akses dg default private (default access struct public). –reduces coupling, and almost paradoxically, increases the ability to create large programs. –encourage coherence, which means that any given class does one thing. By increasing coherence, a program becomes easier to understand, more simply organized, and this better organization is reflected in a further reduction in coupling. Information hiding –Class objects communicate across well-defined interfaces –Implementation details hidden within classes themselves

4 4 Struct VS Class struct Product { int Prod_id; char Prod_Name; float Price; int Stock_qty; }; Product Brg1; class Product { public: int Prod_id; char Prod_Name; float Price; int Stock_qty; }; Product Brg1; Default Access member: public Default Access member: private Struct Object Class Object

5 5 3 Access Level Public: –Bagian class yang dapat diakses oleh umum baik dari dalam maupun dari luar class Protected: –Bagian class yang dapat diakses oleh linkungan internal class dan class turunannya Private: –Bagian class yang hanya dapat diakses oleh linkungan internal class itu sendiri

6 6 Constructor & Destructor class Time { private:int hour; int minute; int second; public:Time(); void setTime( int, int, int ); void printUniversal(); void printStandard(); ~Time(); }; Constructor Destructor

7 7 Constructor & Destructor Constructor  member function yang pertama kali di kerjakan ketika satu object di create –Nama constructor harus sama dengan nama classnya –Untuk inisialisasi object –Minimal ada 1 constructor dalam class (bisa lebih / di overload), jika tidak di tulis compiler akan mengenerate default constructor untuk class tersebut –Dapat diberikan argumen –Tidak memiliki return value (default: void)

8 8 Constructor & Destructor Destructor  member function yang di kerjakan ketika satu object di destroy / death (sebagai pengakhiran object) –Nama destructor sama dengan nama classnya ditambah tanda tilde (~) di awalnya –Untuk de-inisialisasi / clean up / dealokasi memory –Hanya ada 1 desctuctor (tdk dapat di overload) –Tidak memiliki argumen –Tidak memiliki return value

9 9 Object Class Deklarasi Object Class Time timeObject; //object biasa Time timeArray[ 10 ]; // object array Time *timePtr; //object pointer Time &timeRef = timeObject; // object reference

10 10 Access with scope resolution operator (::) ClassName :: classMemberName class Time { private: int hour; int minute; int second; public: Time() { hour = minute = second = 0; } void setTime( int, int, int ); void printUniversal(); void printStandard(); ~Time(){ } }; void Time :: setTime( 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 :: printUniversal() { cout << setfill( '0' ) << setw( 2 ) << hour << ":" << setw( 2 ) << minute << ":" << setw( 2 ) << second; } void Time :: printStandard() { cout << ( ( hour == 0 || hour == 12 ) ? 12 : hour % 12 ) << ":" << setfill( '0' ) << setw( 2 ) << minute << ":" << setw( 2 ) << second << ( hour < 12 ? " AM" : " PM" ); }

11 11 Topik Minggu Depan Inheritance (Turunan) Tugas: Mahasiswa membuat program sederhana dengan mengggunakan konsep Encapsulation: Sistem Elevator Sederhana Tugas(optional): Studi Kasus- Intercomputer Communications (Ref: buku-C is for control)


Download ppt "1 Pertemuan 10 Pemrograman Berorientasi Objek Matakuliah: >/ > Tahun: > Versi: >"

Presentasi serupa


Iklan oleh Google