Example #1
0
        static void Main(string[] args)
        {
            AbstractClassA instance = new ConcreteClass();

            instance.OperationA();

            //instance.OperationB(); // Вопрос: почему недоступен данный метод?

            // Delay
            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            AbstractClassA instance = new ConcreteClass();

            instance.OperationA();

            //instance.OperationB();



            //Delay
            Console.ReadKey();
        }
Example #3
0
        static void Main(string[] args)
        {
            AbstractClassA instance = new ConcreteClass();

            instance.OperationA();
            // instance.OperationB(); //Недостепен т.к у AbstractClassA не было метода OperationB().
            //мы инкапсулировали(спрятали ненужным метод) т.к класс AbstractClassA и знать о нем не должен.

            AbstractClassB instanc2 = new ConcreteClass();

            instanc2.OperationA();
            instanc2.OperationB(); //а тут ошибки нету т.к у класса AbstractClassB есть метод OperationB().
        }