dotSITE
Вопросы/Ответы Учебник по ASP.NET Форумы
новости материалы решения форумы группы настройки/о проекте

Наследование и реализация

В этой части мы разберем вопросы, касающиеся наследования и реализации. Поясним смысл этих слов: при наследовании класс или интерфейс неявно определяет в себе члены другого класса или интерфейса, реализация - это выполнения классом "контракта" заявленного интерфейсом.

При наследовании наследник получает от базового класса все члены (то есть объект типа наследника является также в полной мере объектом типа базового класса).

class A
{
    public int a;

    public void AddA()
    {
        a++;
    }
}

class B : A
{
    public void SubA()
    {
        a--;
    }
}

class Application
{
    public static void Main()
    {
        B b = new B();

        A a = (A)b;

        a.a = 0;

        // A = 0
        Console.WriteLine("A = {0}", b.a);

        a.AddA();

        // A = 1
        Console.WriteLine("A = {0}", b.a);

        // Ошибка
        // a.SubA();
        b.SubA();

        // A = 0
        Console.WriteLine("A = {0}", b.a);        
    }
}

Интересные вещи при наследовании происходят с методами - их можно перекрывать и добавлять. Подробнее смотрите раздел классы.

<< Предыдущая Следующая >>

Контакт Реклама на сайте Спонсорам Веб мастерам

Лицензионное соглашение - © 2000-2012 dotSITE
Хостинг .NET предоставлен PARKING.RU
Поддержку сайта осуществляет Murano Software Inc., Offshore software development