Tugas 2 PBO Bab 8.1-8.6 dan Konversi mata uang
Time Class Case Study
Disini terdapat dua class, Time1 dan Time1Test. Class Time1 mewakili waktu dalam sehari. Class Time1Test merupakan aplikasi dimana method main membuat satu object dari class Time1 dan memanggil method tersebut. Dua class ini harus dideklarasikan di file terpisah karena keduanya merupakan public class.
Sourcecode Time1:
Sourcecode Time1Test:
Berikut adalah outputnya :
Controlling Access to Members
Tujuan utama public method adalah menyajikan layanan yang disediakan class kepada client. Client tidak mengetahui bagaimana class menyelesaikan pekerjaannya. Hal inilah mengapa private variables dan private method tidak bisa diakses client. Berikut merupakan contoh bahwa anggota private class tidak bisa diakses dari luar class.
Source code:
Akan mengalami error saat dicompile,
Referring to the Current Object's Members with the this Reference
Setiap objek bisa mengakses reference ke objek itu sendiri dengan this. Kita juga bisa menggunakan this secara eksplisit di non-static method. Berikut merupakan demonstrasi penggunaan implisit dan eksplisit dari this reference.
Source code:
Output :
Time Class Case Study: Overloaded Constructors
Selanjutnya akan ditunjukkan class dengan beberapa overloaded constructors yang bisa meng-initialize object dari class tersebut dalam beberapa cara. Cara meng-overload constructors adalah dengan memberi beberapa deklarasi constructor dengan signature berbeda.
Default and No-Argument Constructors
Berikut adalah penggunaan overloaded constructors dari class Time2:
- Baris 9 memanggil no-argument constructor.
- Baris 10 memanggil single-argument constructor.
- Baris 11 memanggil two-argument constructor. Baris 12 memanggil three-argument constructor.
- Baris 13 memanggil single-argument constructor yang mengambil baris 34-36 pada Time2. Pengaplikasiannya menunjukkan representasi String dari masing - masing objek Time2 untuk mengonfirmasi bahwa objek terinisialisasi dengan tepat.
- Baris 38 mencoba untuk menginisialisasi t6 dengan membuat objek Time2 baru dan diberi tiga value invalid.
Setiap class harus memiliki setidaknya 1 constructor. Jika kita tidak memberikan deklarasi class, compiler akan membuat default constructor yang tidak mengambil argument apapun ketika dipanggil. Default constructor menginisialisasi variable ke initial/default value.
Jika kita mendeklarasi constructor, compiler tidak akan membuat default constructor. Dalam kasus ini kita harus mendeklarasi no-argument constructor jika inisialisasi default dibutuhkan. Seperti default constructor, no-argument constructor dipanggil dengan kurung kosong / "()"
Komentar
Posting Komentar