8.1) Intoduction
Pada 8.2 sampai 8.6 akan mengimplementasikan bagaimana cara membuat class, mengontril akses untuk member di dalam kelas, membuat constructions, serta komposisi yang membuat sebuah kelas untuk mereferensikan objek yang berada di kelas yang berbeda.
8.2) Time Class Case Study
Dalam subbab ini akan diimplementasikan dua class, yaitu Time1 dan Time1test diamana Time1test berfungsi untuk mengetes class Time1. Dalam Time1 akan berisis variable jam, menit, dan detik yang merepresentasikan waktu serta metode--metode untuk mengatur waktu dan mengeluarkan waktu dalam format universal dan standart.
 |
Source Code dari Time1
|
 |
Source Code Time1test
|
Setelah fungsi
main() dari Time1test dijalankan akan mengeluarkan ouput sebagai berikut.
 |
Output dari Time1test
|
8.3) Controlling Accesss to Members
Disini akan dicoba untuk mengakeses member private dari Time1.
 |
Source Code MemberAccess
|
Member private dari Time1, yaitu hour, minute, dan second sehingga saat mau diakses langsung di class lain akan mnegelurkan message error sebagai berikut saat meng-compile.
 |
hour, minute,dan second Message Error |
8.4) Using this Reference
Reference this diugnakan untuk menunjuk member dari objek yang ada di dalam class tersebut. ThisTest akan menunjukkan penggunaan this secara eksplisit dan emplisit, serta mengetes member-member yang ada di class tersebut.
 |
Source Code ThisTest
|
Jika member main() di ThisTest dijalankan maka akan mengeluarkan output sebagi betrikut.
 |
Output dari Time2test |
8.5) Overloaded Constructors
Sebuah class dapat memiliki lebih dari satu constructor. Jika constructor tidak didefinisikan di awal, maka saat pembuatan objek batu akan menggunakan nilai default. Akan tetapi jika telah didefiniskan maka akan menggunakan nilai dengan argument yang diberikan. Sebagai contoh ada 5 constructor pada Time2, yaitu constructor tidak ada argumen, constructor 1 argumen, constructor 2 argumen, constructor 3 argumen, dan constructor berargumen objek. Time3test berfungsi untuk mengetes Time2.
 |
Source Code Time2
|
 |
Source Code Time2test
|
Jika main() dari Time2test dijalankan akan mengeluarkan output sebagai berikut.
 |
Output Time3test
|
8.6) Default and No-Argument Constructors
Jika sebuah class tidak mendefinisikan constructor maka saat akan membuat objek baru dengan class tersebut aakan menggunakan nilai default dengan tidak ada argument. Berbeda lagi jika constructor kelas tersebut didefinisikan. Saat constructor telah didefiniskan maka tidak akan memakai default constructor dengan tidak ada argumen sehingga saat kita ingin memanggil objek baru dengan class tersebut akan terjadi error, kecuali telah didefinisikan constructor tanpa argumen. Time2 akan dimodifikai sehingga tidak didefinisikan constructor tanpa argumen.
 |
Source Code Time2 tanpa Constructor No-Argument
|
Jika main() pada Time2test dijalan lagi maka akan mengeluarkan error message yang menjelaskan bahwa constructor tanpa argumen tidak ditemukan di source code di Time2. Error message-nya adalah sebagi berikut.
 |
Error Message saat Pembuat Objek Tanpa Argumen
|
**
Sekian dari saya, semoga dapat bermanfaat.
**