<?php
class SavingAccount
{
private $balance = 100;
public function setBalance($balance){
$this->balance = $balance;
}
public function getBalance(){
return $this->balance;
}
public function withdrawal(){}
}
class FixedDipositAccount
{
private $balance = 20;
private $maturityPeriod;
public function setBalance($balance){
$this->balance = $balance;
}
public function getBalance(){
return $this->balance;
}
}
class IntrestCalculator
{
public function calculate($account)
{
if ($account instanceof SavingAccount) {
return $account->getBalance() * 3.0;
} elseif ($account instanceof FixedDipositAccount) {
return $account->getBalance() * 9.5;
}
throw new Exception('Invalid input member');
}
}
$savingAccount = new SavingAccount();
$savingAccount->setBalance(15000);
$fdAccount = new FixedDipositAccount();
$fdAccount->setBalance(25000);
$intrestCalculator = new IntrestCalculator();
echo $intrestCalculator->calculate($savingAccount);
echo $intrestCalculator->calculate($fdAccount);