Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Применение ключевого слова base для доступа к скрытому имениИмеется еще одна форма ключевого слова base, которая действует подобно ключевому слову this, за исключением того, что она всегда ссылается на базовый класс в том производном классе, в котором она используется. Ниже эта форма приведена в общем виде: base.член где член может обозначать метод или переменную экземпляра. Эта форма ключевого слова base чаще всего применяется в тех случаях, когда под именами членов производного класса скрываются члены базового класса с теми же самыми именами. В качестве примера ниже приведен другой вариант иерархии классов из предыдущего примера. // Применение ключевого слова base для преодоления // препятствия, связанного с сокрытием имен. using System; class А { public int i = 0; } // Создать производный класс. class В: А { new int i; // этот член скрывает член i из класса А public В(int a, int b) { base.i = a; // здесь обнаруживается скрытый член из класса А i = b; // член i из класса В } public void Show() { // Здесь выводится член i из класса А. Console.WriteLine("Член i в базовом классе: " + base.i); // А здесь выводится член i из класса В. Console.WriteLine("Член i в производном классе: " + i); } } class UncoverName { static void Main() { В ob = new В(1, 2); ob.Show(); } } С помощью ключевого слова base могут также вызываться скрытые методы. Например, в приведенном ниже коде класс В наследует класс А и в обоих классах объявляется метод Show(). А затем в методе Show() класса В с помощью ключевого слова base вызывается вариант метода Show(), определенный в классе А. // Вызвать скрытый метод. using System; class А { public int i = 0; // Метод Show() в классе A public void Show() { Console.WriteLine("Член i в базовом классе: " + i); } } // Создать производный класс. class В: А { new int i; // этот член скрывает член i из класса А public В(int a, int b) { base.i = a; // здесь обнаруживается скрытый член из класса А i = b; // член i из класса В } // Здесь скрывается метод Show() из класса А. Обратите // внимание на применение ключевого слова new. new public void Show() { base.Show(); // здесь вызывается метод Show() из класса А // далее выводится член i из класса В Console.WriteLine("Член i в производном классе: " + i); } } class UncoverName { static void Main() { В ob = new В(1, 2); ob.Show(); } }
|