Konsep inheritance
This presentation is the property of its rightful owner.
Sponsored Links
1 / 10

Konsep Inheritance PowerPoint PPT Presentation


  • 160 Views
  • Uploaded on
  • Presentation posted in: General

Konsep Inheritance. Praktikum 8 Pemrograman Berbasis Obyek. Lat 1. Invoking parent class constructor. Employee1.java import java.util.Date; public class Employee1 { private static final double BASE_SALARY = 15000.00; private String name; private double salary;

Download Presentation

Konsep Inheritance

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Konsep inheritance

Konsep Inheritance

Praktikum 8

Pemrograman Berbasis Obyek


Lat 1 invoking parent class constructor

Lat 1. Invoking parent class constructor

Employee1.java

import java.util.Date;

public class Employee1 {

private static final double BASE_SALARY = 15000.00;

private String name;

private double salary;

private Date birthDate;

public Employee1(String name, double salary, Date DoB) {

this.name = name;

this.salary = salary;

this.birthDate = DoB;

}

public Employee1(String name, double salary) {

this(name, salary, null);

}


Konsep inheritance

public Employee1(String name, Date DoB) {

this(name, BASE_SALARY, DoB);

}

public Employee1(String name) {

this(name, BASE_SALARY);

}

// more Employee code...

}

class Manager extends Employee1 {

private String department;

public Manager(String name, double salary, String dept) {

super(name, salary);

department = dept;

}


Konsep inheritance

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

Lat 2.Membuat subclass dari Bank Accounts

  • Membuat dua buah subclass dari class Accounts, yaitu SavingsAccount dan CheckingAccount.

  • Kita akan mengoverride method withdraw untuk mengecek accounts dan menggunakan super untuk memanggil parent constructor.


Uml diagram

UML diagram


Konsep inheritance

Langkah-langkah:Pada Banking package tambahkan subclass SavingsAccount dan CheckingAccount sebagaimana digambarkan pada UML diagram diatas

  • Buat direktori Banking baru. Copy proyek banking yang sebelumnya ke direktori Banking baru ini.

    Modify the Account Class

  • Perhatikan bahwa variabel balance bertipe protected (diindikasikan dengan tanda #, pada UML sebelumnya bertanda – yaitu private).

  • Ubah akses mode balance menjadi protected.


Konsep inheritance

The Savings Account Subclass

  • Implementasikan class SavingsAccount sebagaimana UML diagram.

  • Class SavingsAccount merupakan subclass dari class Account. Gunakan kata kunci extends.

  • Terdapat satu buah variabel yaitu interestRate yang bertipe double.

  • 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 interestRate dengan nilai interest_rate.

    Catatan:

    Interest rate = bunga tabungan


Konsep inheritance

The Checking Account Subclass

  • Implementasikan class CheckingAccount sesuai dengan UML diagram.

  • Class CheckingAccount adalah subclass dari class Account.

  • Pada class CheckingAccount harus terdapat variabel overdraftProtection yang bertipe double.

  • 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 overdraftProtection dengan nilai protect.

  • 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 ada adalah constructor dengan dua parameter. Maka buat nilai protect default adalah -1.0 yang berarti bahwa pada account tidak terdapat overdraftProtection.

    Catatan:

    Saldo = balance + overdraftProtection

    overdraftProtection = Saldo minimal, yaitu saldo yang diharapkan tidak boleh diambil pada suatu rekening, kecuali bila konsumen ingin menutup rekening.


Konsep inheritance

  • Class CheckingAccount 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:

    • 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:

      • Jika tidak ada overdraftProtection (nilai = -1.0) atau overdraftProtection < overdraftNeeded (amount-balance) maka gagalkan proses pengambilan uang dengan mengembalikan nilai false.

      • Jika terdapat overdraftProtection atau overdraftProtection > overdraftNeeded (amount-balance) maka proses pengambilan uang berhasil dengan mengembalikan nilai true. Dan selanjutnya set

        balance = 0.0;

        overdraftProtection = overdraftProtection - overdraftNeeded;


  • Login