Окно Class View

Инструменты ООП в Visual Studio.NET

. . .

}

В этом случае последовательность событий будет иметь такой вид:

• Выполнится конструктор System.Object.Object().

• Выполнится конструктор MyBaseClass.MyBaseClass (int i).

• Выполнится конструктор MyDerivedClass.MyDerivedClass() .

Кроме ключевого слова base, в этом контексте может использоваться еще одно ключевое слово: this. Оно указывает процессу создания экземпляра в .NET на необходимость использовать конструктор не по умолчанию для текущего класса, прежде чем будет вызван указанный конструктор. Например:

public class MyDerivedClass : MyBaseClass

public MyDerivedClass () : this(5, 6)

public MyDerivedClass (int i, int j) : base(i)

Это приведет к такой последовательности событий:

• Выполнится конструктор System.Object.Object().

• Выполнится конструктор MyBaseClass.MyBaseClass (int i).

• Выполнится конструктор MyDerivedClass. MyDerivedClass (int i, int j).

• Выполнится конструктор MyDerivedClass .MyDerivedClass ().

Единственным ограничением в данном случае является задание только одного конструктора, использующего ключевые слова base или this. На самом деле, как было продемонстрировано в предыдущем примере, это не такое уж серьезное ограничение, поскольку все равно остается возможность конструирования чрезвычайно изощренных последовательностей выполняемых действий.

Поскольку ООП является основополагающим понятием .NET Framework, то в VS предусмотрены определенные инструменты, облегчающие разработку приложений с использованием ООП. В этом разделе будут рассмотрены некоторые из них.

Окно Solution Explorer делит экранное пространство с окном Class View (окно просмотра классов, в котором отображается иерархия классов приложения. Кроме того, названное окно позволяет моментально узнать характеристики используемых классов. Существует несколько режимов просмотра этой информации, причем по умолчанию используется

режим Sort By Type (упорядочивание по типу). Для проекта, который был взят в качестве примера в предшествующем разделе, это

окно будет иметь вид, подобный представленному на рисунке слева.

В окне Class View может использоваться большое количество разнообразных символов, среди которых (см. рис. ниже)

 

Обратите внимание, что часть символов используется для определения типов, не являющихся классами, например, для перечислений или структур. Некоторые из вхождений могут иметь по дополнительному символу, расположенному ниже и обозначающему режим доступа к ним (у вхождений общего типа символ отсутствует)(рис. 2)

 

 

 


Рис.2

Для обозначения абстрактных, изолированных и виртуальных вхождений никаких символов не используется. Все режимы работают одинаково, позволяя разворачивать определения классов с использованием стандартных средств управления просмотром дерева. Классы и интерфейсы разворачиваются вплоть до уровня System.Object (см. рис. слева). Отсюда можно почерпнуть любую информацию о классах проекта.

Помимо просмотра этой информации, в данном окне можно получить доступ к коду большинства элементов. Двойной щелчок мышью по элементу или двойное нажатие правой кнопки мыши и выбор пункта меню Go To Definition (переход к определению) позволяет перейти непосредственно к тому коду, который описывает данный элемент, если этот код является доступным. В ином случае — например, если он находится в каком-либо базовом типе, к которому нет доступа,— мы перейдем в окно Object Browser (браузер объектов).