Пример #1
0
        public static void EncapsulationDemo()
        {
            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);
        }
        // An access modifier allows you to specify the visibility of code outside a type or assembly
        public static void MainMethod()
        {
            Console.WriteLine("Encapsulation");

            var bankAcctPub = new BankAccountPublic();
            // call a public method
            decimal amount = bankAcctPub.GetAmount();

            var bankAcctPriv = new BankAccountPrivate();

            bankAcctPriv.CustomerName = "John Depp";
            string customerName = bankAcctPriv.CustomerName;

            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();
            }
        }