Search
 
SCRIPT & CODE EXAMPLE
 
CODE EXAMPLE FOR CSHARP

sealed method in c#

Prevent overriding a method of a class. This is a method that is declared with
the keyword sealed and is always used with combination of override keyword. 
Derived classes will not be able to override this method as it is sealed for
overriding.
  
Example by me: 

    class Account
    {
        public int Number { get; set; }
        public string Holder { get; set; }
        public double Balance { get; protected set; } // protected property is used to avoid the access to the balance from outside the class

        public Account()
        {

        }

        public Account (int Number, string Holder, double Balance)
        {
            this.Number = Number;
            this.Holder = Holder;
            this.Balance = Balance;
        }

        public virtual void Withdraw(double amount)
        {
            if (amount > Balance)
            {
                Console.WriteLine("The amount exceeds the balance");
            }
            else
            {
                Balance -= amount;
            }
        }

    }

	namespace TestConsoleApp.Entities.AccountProject;
    sealed class SavingsAcount : Account
    {
        public double InterestRate { get; set; }

        public SavingsAcount()
        {

        }

        public SavingsAcount(int Number, string Holder, double Balance, double InterestRate) : base(Number, Holder, Balance)
        {
            this.InterestRate = InterestRate;
        }

        public void UpdateBalance()
        {
            Balance += Balance * InterestRate;
        }

        public override void Withdraw(double amount)
        {
            base.Withdraw(amount);
            //UpdateBalance();
        }
    }

    sealed class SavingsAcount : Account
    {
        public double InterestRate { get; set; }

        public SavingsAcount()
        {

        }

        public SavingsAcount(int Number, string Holder, double Balance, double InterestRate) : base(Number, Holder, Balance)
        {
            this.InterestRate = InterestRate;
        }

        public void UpdateBalance()
        {
            Balance += Balance * InterestRate;
        }

        public sealed override void Withdraw(double amount)
        {
            base.Withdraw(amount);
            //UpdateBalance();
        }
    }

With this 2 examples, you could make a third example trying to use the 
method Widtdraw of SavingsAccount if you would pretend to derivate 
SavingAccount class but you couldn't do that.
  
Source by interviewhttps #
 
PREVIOUS NEXT
Tagged: #sealed #method
ADD COMMENT
Topic
Name
4+2 =