PROGRAMMING #11 : Java Programming for Programmer - Classes and Objects (PART 6) | [BAHASA]

in #indonesia6 years ago

RESOURCES TO LEARN JAVA

Pada artikel ini merupakan lanjutan dari artikel sebelumnya yaitu Java Programming for Programmer - Classes and Objects (PART 5). Masih dalam topik yang sama, dimana saya akan membahas mengenai kelas dan objek. Langsung saja pada pokok pembahasan berikut ini.

Metode Set dan Get versus Data Public

Kelihatannya menyediakan kapabilitas set dan get secara esensi sama dengan menjadikan variabel contoh menjadi public. Ini yang membuat Java lebih diunggulkan dalam rekayasa perangkat lunak. Suatu variabel contoh public dapat dibaca atau ditulis dari sembarang metode yang memiliki referensi kepada suatu objek yang memuat variabel tersebut. Jika suatu variabel contoh dideklarasikan private, maka metode get dapat mengizinkan metode-metode lain untuk mengaksesnya, tetapi metode get juga dapat mengendalikan bagaimana klien dapat mengaksesnya. Sebagai contoh, suatu metode get dapat mengendalikan format data yang dijadikan nilai balik, jadi menghindarkan kode klien dari representasi data aktual.

Metode set dapat dan harus dapat, secara hati-hati memeriksa setiap percobaan untuk memodifikasi nilai variabel dan melemparkan eksepsi jika perlu. Sebagai contoh, suatu percobaan untuk menugaskan nilai hari 37 kepada bulan akan ditolak, suatu percobaan untuk menugaskan nilai negatif berat seseorang akan ditolak dan seterusnya. Jadi, meskipun metode set dan get menyediakan akses kepada data private, tetapi akses tersebut dibatasi oleh implementasi metode. Hal ini mendukung praktik rekayasa perangkat lunak yang modern.

Komposisi

Suatu kelas dapat memiliki beberapa referensi kepada objek-objek dari kelas-kelas lain sebagai anggota. ini dinamakan dengan komposisi dan kadang kala disebut pula dengan relasi memiliki sesuatu. Sebagai contoh, suatu objek JamAlarm perlu mengetahui waktu saat ini dan waktu kapan harus menyembunyikan alarm, sehingga masuk akan bila menyertakan dua referensi kepada objek Waktu didalam suatu objek JamAlarm.

Kelas Tanggal

Contoh komposisi ini memuat kelas Tanggal (kode 1.7), Karyawan (kode 1.8), dan UjiKaryawan (kode 1.9). Kelas Tanggal mendeklarasikan tiga variabel contoh yakni, bulan, hari, dan tahun (baris 6-8), untuk merepresentasikan suatu tanggal. Konstruktor menerima tiga parameter int. Baris 17 memanggil metode utilitas periksaBulan (baris 26-32) untuk memvalidasi bulan. Jika nilainya diluar rentang, maka metode ini akan melempar eksepsi. Baris 15 mengasumsikan bahwa nilai tahun adalah benar dan tidak memvalidasinya. Baris 19 memanggil metode utilitas periksaHari (baris 35-48) untuk memvalidasi hari berdasarkan nilai bulan dan tahun sekarang. Baris 38 menentukan apakah hari bernilai benar berdasarkan jumlah hari pada bulan tertentu. Jika hari tidak bernilai benar, maka baris 42-43 akan menentukan apakah bulan saat ini adalah Februari, apakah hari adalah 29 dan apakah tahun merupakan tahun leap. Jika hari masih bernilai tidak valid, maka metode ini akan melemparkan eksepsi. Baris 21-22 didalam konstruktor menampilkan referensi this sebagai suatu String. Karena this merupakan referensi yang menunjuk kepada objek Tanggal sekarang, metode toString dari objek tersebut akan dipanggil secara implisit untuk memperoleh representasi String atas objek itu.

Kode 1.7

To be continued...

Regards alfarisi,


INDONESIAN STEEMIT COMMUNITY

Coin Marketplace

STEEM 0.20
TRX 0.12
JST 0.028
BTC 64400.67
ETH 3506.16
USDT 1.00
SBD 2.53