Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehPaman Novita Telah diubah "9 tahun yang lalu
1
1 Pertemuan 5 Encapsulation Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0
2
2 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Menyimpulkan konsep Encapsulation dalam PBO
3
3 Outline Materi Konsep Encapsulation Struct vs Class Class Access Control Constructor & Destructor Object Class Access with scope resolution operator ( :: )
4
4 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
5
5 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
6
6 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
7
7 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
8
8 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)
9
9 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
10
10 Object Class Deklarasi Object Class Time timeObject; //object biasa Time timeArray[ 10 ]; // object array Time *timePtr; //object pointer Time &timeRef = timeObject; // object reference
11
11 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" ); }
12
12 Tugas 5 Tugas 5A: Mahasiswa membuat ringkasan tentang konsep encapsulation pada OOP dan implementasinya pada C++ Tugas 5B: Mahasiswa membuat analisis contoh program dengan encapsulation dari dosen Tugas 5C: Mahasiswa membuat program sederhana dengan mengggunakan konsep Encapsulation
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.