Astraction

 

package pkgabstract;

abstract class KFC

{

    KFC(){

        

    }

    void KFCitem()

    {

        System.out.println(“1.Burger”);

        System.out.println(“2.Pizza”);

        System.out.println(“3.Hot Dog”);

    }

    void makeItem()

    {

        System.out.println(“Burger:meat+Flour+meyonij”);

        System.out.println(“Pizza:KFC recepi”);

        System.out.println(“Hot Dog: fry meat with sauce”);

    }

    abstract void Billing();

    abstract void Offer();

}

class DhakaKFC extends KFC

{

    DhakaKFC(){};//Dhaka outlet of KFC

    @Override

    void Billing()

    {

        System.out.println(“Make bill”);

    }

    @Override

    void Offer()

    {

        System.out.println(“Buy 2 get one”);

    }

    void EidOffer()

    {

        System.out.println(“Eid Offer”);

    }

}

public class Abstract {

    

    public static void main(String[] args) {

        DhakaKFC t=new DhakaKFC();//abstract class oject cant be created , Main KFC doesnt sell item  directly. they sell through outlet

        t.KFCitem();

        t.Offer();

        t.Billing();

    }

    

}

2 thoughts on “Astraction”

  1. import java.util.Scanner;

    public class Main {
    static Account searchAccount(int id, Account[] accounts) {
    for (int i = 0; i < accounts.length; i++) {
    if (id == accounts[i].getId()) {
    return accounts[i];
    }
    }

    return null;
    }

    static int takeInput(Scanner sc) {
    System.out.print("Please type ac account number: ");
    int n = sc.nextInt();
    return n;
    }

    public static void main(String args[]) {
    Scanner sc = new Scanner(System.in);
    System.out.print("How many accounts your want to create? ");
    int ind = 0;
    int op = 0;
    int accountNum = sc.nextInt();
    Account[] accounts = new Account[accountNum];

    while(ind < accountNum) {
    System.out.println("nPlease select below option:");
    System.out.println("1. Savings Account 2. Fixed Account");
    int option = sc.nextInt();
    Account newAccount;

    if (option == 1) {
    System.out.print("nAccount Holder Name: ");
    sc.nextLine();
    String name = sc.nextLine();
    System.out.print("Account No: ");
    int id = sc.nextInt();
    System.out.print("Balance: ");
    double balance = sc.nextDouble();
    System.out.print("Interest Rate: ");
    int interestRate = sc.nextInt();
    newAccount = new SavingsAccount(id, name, balance, interestRate);
    newAccount.show();
    accounts[ind] = newAccount;
    } else {
    System.out.print("nAccount Holder Name: ");
    sc.nextLine();
    String name = sc.nextLine();
    System.out.print("Account No: ");
    int id = sc.nextInt();
    System.out.print("Balance: ");
    double balance = sc.nextDouble();
    System.out.print("Tenure Year: ");
    int tenureYear = sc.nextInt();
    newAccount = new FixedAccount(id, name, balance, tenureYear);
    newAccount.show();
    accounts[ind] = newAccount;
    }

    ind++;
    }

    while (op != 6) {
    System.out.println("nPlease Select the below operations:");
    System.out.println("1. Add Money");
    System.out.println("2. Withdraw Money");
    System.out.println("3. Transfer");
    System.out.println("4. Show Account");
    System.out.println("5. Close Account");
    System.out.println("6. Exit");

    op = sc.nextInt();

    switch(op) {
    case 1:
    {
    int accountN = takeInput(sc);
    Account acc = searchAccount(accountN, accounts);
    if (acc == null) {
    System.out.println("Account not found");
    }
    };
    break;
    default:
    {};
    }
    }
    }
    }

    class Account {
    private int accountId;
    private String accountName;
    private double balance;

    public Account(int id, String name, double balance) {
    accountId = id;
    accountName = name;
    this.balance = balance;
    }

    public int getId() {
    return accountId;
    }

    public double getBalance() {
    return balance;
    }

    public void addMoney(double amount) {
    balance += amount;
    System.out.println("nAmount added: " + amount);
    System.out.println("Current balance: " + balance);
    }

    public void show() {
    System.out.println("nAccount Holder Name: " + accountName);
    System.out.println("Account No: " + accountId);
    System.out.println("Balance: " + balance);
    }
    }

    class SavingsAccount extends Account {
    private int interestRate;

    public SavingsAccount(int id, String name, double balance, int interestRate) {
    super(id, name, balance);
    this.interestRate = interestRate;
    }

    public void show() {
    super.show();
    System.out.println("Interest Rate: " + interestRate + "%");
    System.out.println("Total Balance: " + super.getBalance() + "*" + interestRate + "% = " + (super.getBalance() + (super.getBalance() * interestRate / 100)));
    }
    }

    class FixedAccount extends Account {
    private int tenureYear;

    public FixedAccount(int id, String name, double balance, int tenureYear) {
    super(id, name, balance);
    this.tenureYear = tenureYear;
    }

    public void show() {
    super.show();
    System.out.println("Tenure Year: " + tenureYear);
    }
    }

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top