PERTEMUAN
KE-9
ABSTRACT
CLASS
-
Pembahasan Praktikum
Class
Karyawan menggunakan kata kunci abstract sehingga tidak dapat
di-instance. Class ini mempnyai tiga atribut yaitu nama dengan tipe
String, address bertipe String juga dan number bertipe integer. Dari
ketiga atribut mempunyai modifier private sehingga hanya dapat
diakses dalam class ini.
Dari
class Karyawan kita membuat kontruktornya yang namanya sama dengan
nama classnya. Karena atribut dari class Karywan mempunyai tiga
atribut sehingga pada konstruktor ini kita membuat tiga parameter
untuk memdeklarasikannya. Seperti pada atributnya, this.name = name,
this.address=address dan this.number=number sehingga setiap atribut
memberikan nilainya kepada atribut itu sendiri.
Method
computePay() bertipe double sehingga nilai yang dikembalikan akan
bilangan pecahan. Dalam method ini terdapat kata kunci return
sehingga nilainya akan dikembalikan ke nama methodnya. nilai yang
akan dikembalikan adalah perintah output yang ada pada method ini
seperti String yang diapit oleh petik dua.
Method
ini akan menampilkan perintah output dari atribut name dan address
yang dideklarasikan pada konstruktor diatas. Karena method ini tidak
mempunyai nilai balik sehingga menggunakan kata kunci void pada
tipenya.
Method
ini untuk mengembalikan nilai dari atribut nama, address dan number
kepada nama methodnya dengan bertipe String sehingga akan menampikan
karakter dari ketiga atribut ini.
Pada
method diatas merupakan method yang akan memberikan nilainya kepada
nama methodnya untuk menyimpan. Seperti pada method getName() yang
atribut name mengembalikan nilainya kepada method getName(), atribut
address mengembalikan nilainya kepada method getAddress() sedangkan
method setAddress() membuat satu parameter untuk memberikan nilainya
kepada atribut newAddress dan method getNumber() mendapatkan dinalai
baliknya dari atribut number untuk menyimpannya.
Class
Gaji merupakan turunan dari class Karyawan sehingga menggunakan kata
kunci extends. Dari class ini terdapat atribut yang bernama Gaji
dengan tipe double kemudian kita membuat kontruktor untuk
mendeklarasikan atribut dari class Karyawan yang diturunkan ke dalam
class ini. Dari atribut name, address dan number menggunakan kata
kunci super sehingga atribut tersebut bisa diakses oleh method lain.
Kemudian kita membuat method baru yaitu setGaji() yang menyimpan niai
dari atribut Gaji.
Pada
class ini juga terdapat method yang bernama mailCheck() yang akan
menampilkan perintah output dari nilai method getName() dan atribut
Gaji. Method mailCheck tidak mempunyai nilai balik sehingga
menggunakan kata kunci void pada tipenya dengan modifier public.
Method
getGaji() mempunyai nilai balik dari atribut Gaji sehingga
menggunakan kata kunci return dengan tipe double pada tipe data
methodnya. Pada method setGaji() mempunyai satu parameter yaitu
newGaji yang akan mengambil nilai dari atribut Gaji jika nilai dari
atribut newGaji lebih besar atau sama dengan 0.0 maka nilai dari Gaji
akan disimpan pada atribut newGaji.
Method
computePay() bertipe double yang mempunyai perintah output dari
method getName() sehingga dari method getName() akan memberikan
nilainya ke method ini lagi kemudian akan mengembalikan nilai dari
atribut Gaji dibagi 52 dan disimpan pada nama methodnya.
Dari
class sebelumnya kita membuat class main untuk mencetak nilai dari
atribut yang telah dideklarasikan yaitu class AbstractDemo. Dari
class Gaji membuat objek baru barnama s dengan nilai dari setiap
atribut sudah dideklarasikan pada objek baru ini sehingga akan
mengambil nilainya sesuai dengan parameter yang sudah didefinikan
pada kontruktor Gaji. Kemudian class Karyawan juga membuat objek
barunya dengan nama e, karena class Karyawan menurunkan atributnya ke
class Gaji sehingga untuk membuat objek baru harus menggunakan class
Gaji dengan nilai dari atributnya sudah didefinikan pada objek ini
juga.
Dari
objek baru yang dibuat maka kita gunakan untuk memanggil method
mailCheck() untuk menampilkan nilai dari atribut yang dideklarasikan.
Seperti pada objek s dengan memanggik method mailCheck() pada class
Gaji sehingga perintah yang ada didalamnya akan ditampilkan kemudian
objek e untuk memanggil method mailCheck() pada class Karyawan untuk
menampilkan nilai atributnya.
Dari
objek baru diatas dapat digunakan lagi untuk memanggil method
toString() dan computePay() pada class Gaji dan Karyawan untuk
menampilkan nilainya. Dari pembahasan diatas hasil output hampir sama
dengan perintah ini. Method toString untuk menampilkan nilai dari
atribut name, address dan number yang dikembalikan ke nama methodnya
kemudian method computePay() untuk menampilkan method getName() dan
nilai atribut Gaji yang dibagi dengan 52.
-
Tugas
-
Mengubah method computePay() menjadi method abstract
-
Apakah ada perubahan di class Gaji?
-
Ya, terdapat perubahan di class Gaji pada method getName() karena pada method abstract computePay() menggunakan kata kunci abstract void sehingga pada method getName() yang ada pada class Gaji juga harus menggunakan kata kunci void seperti dibawah ini:
No comments:
Post a Comment