Skip to main content

Encapsulation example in c#

1. BankAccountExternal.cs

using System;
public class BankAccountExternal
{
    public decimal GetAmount()
    {
        return 2000.00m;
    }
}

2. BankAccountPrivate.cs

using System;
class BankAccountPrivate
{
    private string m_name;
    public string CustomerName
    {
        get { return m_name; }
        set { m_name = value; }
    }
}

3. BankAccountProtected.cs

using System;
class BankAccountProtected
{
    public void CloseAccount()
    {
        ApplyPenalties();
        CalculateFinalInterest();
        DeleteAccountFromDB();
    }
    protected virtual void ApplyPenalties()
    {
        // deduct from account
    }
    protected virtual void CalculateFinalInterest()
    {
        // add to account
    }
    protected virtual void DeleteAccountFromDB()
    {
        // send notification to data entry personnel
    }
}

4. BankAccountPublic.cs

using System;
class BankAccountPublic
{
    public decimal GetAmount()
    {
        return 1000.00m;
    }
}

5. CheckingAccount.cs

using System;
class CheckingAccount : BankAccountProtected
{
    protected override void ApplyPenalties()
    {
        Console.WriteLine("Checking Account Applying Penalties");
    }
    protected override void CalculateFinalInterest()
    {
        Console.WriteLine("Checking Account Calculating Final Interest");
    }
    protected override void DeleteAccountFromDB()
    {
        base.DeleteAccountFromDB();
        Console.WriteLine("Checking Account Deleting Account from DB");
    }
}

6. InternalInterestCalculator.cs

using System;
internal class InternalInterestCalculator
{
    // members go here
}

7. SavingsAccount.cs

using System;
class SavingsAccount : BankAccountProtected
{
    protected override void ApplyPenalties()
    {
        Console.WriteLine("Savings Account Applying Penalties");
    }
    protected override void CalculateFinalInterest()
    {
        Console.WriteLine("Savings Account Calculating Final Interest");
    }
    protected override void DeleteAccountFromDB()
    {
        base.DeleteAccountFromDB();
        Console.WriteLine("Savings Account Deleting Account from DB");
    }
}

8. Program.cs

using System;
class Program
{
    static void Main()
    {
        BankAccountPublic bankAcctPub = new BankAccountPublic();
        // call a public method
        decimal amount = bankAcctPub.GetAmount();
        Console.WriteLine("Bank Account Amount: " + amount);
        BankAccountProtected[] bankAccts = new BankAccountProtected[2];
        bankAccts[0] = new SavingsAccount();
        bankAccts[1] = new CheckingAccount();
        foreach (BankAccountProtected acct in bankAccts)
        {
            // call public method, which invokes protected virtual methods
            acct.CloseAccount();
        }
        BankAccountExternal BankAcctExt = new BankAccountExternal();
        // call a public method
        amount = BankAcctExt.GetAmount();
        Console.WriteLine("External Bank Account Amount: " + amount);
    }
}

Comments

Popular posts from this blog

WAP to calculate the monthly telephone bills as per the following rule: Minimum Rs. 200 for upto 100 calls. Plus Rs. 0.60 per call for next 50 calls. Plus Rs. 0.50 per call for next 50 calls. Plus Rs. 0.40 per call for any call beyond 200 calls.

  #include<iostream.h> #include<conio.h> void main() { int calls; float bill; cout<<" Enter number of calls : "; cin>>calls; if (calls<=100) bill=200; else if (calls>100 && calls<=150) { calls=calls-100; bill=200+(0.60*calls); } else if (calls>150 && calls<=200) { calls=calls-150; bill=200+(0.60*50)+(0.50*calls); } else { calls=calls-200; bill=200+(0.60*50)+(0.50*50)+(0.40*calls); } cout<<" Your bill is Rs. "<<bill; getch(); }   Output: Enter number of calls : 190 Your bill is Rs.250

Write a program to calculate the total expenses. Quantity and price per item are input by the user and discount of 10% is offered if the expense is more than 7000.

  #include<iostream.h> #include<conio.h> void main() { int totalexp, qty, price, discount; cout<<" Enter quantity: "; cin>>qty; cout<<" Enter price: "; cin>>price; totalexp=qty*price; if (totalexp>7000) { discount=(totalexp*0.1); totalexp=totalexp-discount; } cout<<" Total Expense is Rs. "<<totalexp; getch(); }