Konsep Inheritance Praktikum 8 Pemrograman Berbasis Obyek Lat
Konsep Inheritance Praktikum 8 Pemrograman Berbasis Obyek
Lat 1. Invoking parent class constructor Employee 1. java import java. util. Date; public class Employee 1 { private static final double BASE_SALARY = 15000. 00; private String name; private double salary; private Date birth. Date; public Employee 1(String name, double salary, Date Do. B) { this. name = name; this. salary = salary; this. birth. Date = Do. B; } public Employee 1(String name, double salary) { this(name, salary, null); }
public Employee 1(String name, Date Do. B) { this(name, BASE_SALARY, Do. B); } public Employee 1(String name) { this(name, BASE_SALARY); } } // more Employee code. . . class Manager extends Employee 1 { private String department; public Manager(String name, double salary, String dept) { super(name, salary); department = dept; }
public Manager(String n, String dept) { super(n); department = dept; } } public Manager(String dept) { department = dept; } Coba kompile program diatas! Jika terjadi error, kenapa dan betulkan!
Lat 2. Membuat subclass dari Bank Accounts Membuat dua buah subclass dari class Accounts, yaitu Savings. Account dan Checking. Account. n Kita akan mengoverride method withdraw untuk mengecek accounts dan menggunakan super untuk memanggil parent constructor. n
UML diagram
Langkah-langkah: Pada Banking package tambahkan subclass Savings. Account dan Checking. Account sebagaimana digambarkan pada UML diagram diatas 1. Buat direktori Banking baru. Copy proyek banking yang sebelumnya ke direktori Banking baru ini. Modify the Account Class 2. Perhatikan bahwa variabel balance bertipe protected (diindikasikan dengan tanda #, pada UML sebelumnya bertanda – yaitu private). 3. Ubah akses mode balance menjadi protected.
The Savings Account Subclass 4. Implementasikan class Savings. Account sebagaimana UML diagram. 5. Class Savings. Account merupakan subclass dari class Account. Gunakan kata kunci extends. 6. Terdapat satu buah variabel yaitu interest. Rate yang bertipe double. 7. Terdapat satu buah public constructor dengan dua parameter: balance dan interest_rate. Constructor ini harus passing parameter balance ke parent constructor dengan menggunakan super(balance) dan mengeset nilai variabel interest. Rate dengan nilai interest_rate. Catatan: Interest rate = bunga tabungan
The Checking Account Subclass 8. Implementasikan class Checking. Account sesuai dengan UML diagram. 9. Class Checking. Account adalah subclass dari class Account. 10. Pada class Checking. Account harus terdapat variabel overdraft. Protection yang bertipe double. 11. Terdapat public constructor dengan dua parameter: balance and protect. Constructor ini harus passing parameter balance ke parent constructor dengan menggunakan super(balance) dan mengeset nilai variabel overdraft. Protection dengan nilai protect. 12. Terdapat satu buah public constructor dengan satu parameter yaitu balance. Constructor ini harus passing parameter balance ke lokal constructor dengan menggunakan this. Perhatikan bahwa constructor lain yang adalah constructor dengan dua parameter. Maka buat nilai protect default adalah -1. 0 yang berarti bahwa pada account tidak terdapat overdraft. Protection. Catatan: Saldo = balance + overdraft. Protection = Saldo minimal, yaitu saldo yang diharapkan tidak boleh diambil pada suatu rekening, kecuali bila konsumen ingin menutup rekening.
13. Class Checking. Account harus mengoverride method withdraw. Method withdraw harus melakukan cek terhadap saldo (balance) apakah jumlahnya cukup bila terjadi pengambilan sejumlah uang (amount). Cek yang dilakukan adalah sebagai berikut: n n Jika balance – amount => 0. 0 maka proses pengambilan diperbolehkan dan mengembalikan nilai true. Dan selanjutnya set balance = balance – amount; Jika balance – amount < 0. 0 maka lakukan cek sebagai berikut: n n Jika tidak ada overdraft. Protection (nilai = -1. 0) atau overdraft. Protection < overdraft. Needed (amount-balance) maka gagalkan proses pengambilan uang dengan mengembalikan nilai false. Jika terdapat overdraft. Protection atau overdraft. Protection > overdraft. Needed (amount-balance) maka proses pengambilan uang berhasil dengan mengembalikan nilai true. Dan selanjutnya set balance = 0. 0; overdraft. Protection = overdraft. Protection - overdraft. Needed;
- Slides: 10