Программирование >>  Программирование с использованием ajax 

1 ... 70 71 72 [ 73 ] 74 75 76 ... 396


тем же значением, которое передается конструктору MyDerivedClass в параметре i), так что применяться будет MyBaseClass (int i). Это означает, что MyBaseClass вызываться не будет, поэтому последовательность событий будет выглядеть так, как показывалось перед этим, т.е. необходимым образом.

Это ключевое слово можно еще использовать для указания литеральных значений для конструкторов базовых классов, например, в случае применения конструктора по умолчанию класса MyDerivedClass для вызова конструктора не по умолчанию класса MyBaseClass:

public class MyDerivedClass : MyBaseClass

public MyDerivedClass 0 : base (5)

Это приведет к получению следующей последовательности.

□ Первым будет выполняться код конструктора System. Ob j ect. Ob j ect.

□ Вторым - код конструктора 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. Ob j ect. Ob j ect.

□ Вторым - код конструктора MyBaseClass .MyBaseClass (int i).

□ Третьим - код конструктора MyDerivedClass .MyDerivedClass (int i, int j).

□ Четвертым - код конструктора MyDerivedClass .MyDerivedClass.

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

Если для конструктора не указывается никакой инициализатор, компилятор автоматически добавляет инициализатор baseO . Это приводит к получению поведения по умолчанию, которое описывалось ранее в этом раздеяе.



Средства объектно-ориентированного программирования, доступные в VS и VCE

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

Окно Class View

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

На этом рисунке видно, что данное окно имеет два главных раздела; в нижнем разделе отображаются члены типов. Чтобы увидеть, как это происходит на примере данного проекта, а также, какие еще действия можно выполнять в окне Class View, необходимо отобразить некоторые элементы, которые сейчас являются скрытыми. Чтобы сделать это, отметьте элементы в выпадающем списке Class View Grouping (Группировка представления классов) в верхней части окна Class View, как показано на рис. 9.4.

После этого в окне Class View должны стать видимыми все члены, и появится кое-какая дополнительная информация (рис. 9.5).

Здесь может использоваться масса различных обозначений, в том числе и значки, перечисленные в табл. 9.3

liniin-

I Project References & {) ChOSExOl

. -О iMyeaielntertace da IMyBaselnterface2 l£ 5** IMylnterTace i MyBase

♦ a MyClass

♦ MyComplexClass

♦ ui Pfogram

<Ш1впЬ)1 ;!3 Class V

Puc. 9.3. Внешний вид окна Class View

Show Base Types

Show Project References

Show Hidden Types And Members

Show Public Members

Show Protected Members

Show PrtvaU Members

Show Other Members

Show Inherited Members

Puc. 9.4. Изменение настроек окна Class View

t; ц ChMf Ktl

- Project References

J -sJ mjcorlib

A -Jt SyUem

Л Syjtem Cof

Ш -гЛ system Dau

Ш -O System Dita DitaSetExtensions

Ш -Jt System Kml

System>ml linq fo О ChOSExOl

Ф ~* iMyetselnterTice IMve jelnterTice?

\M IMvIntertice

Ш и Mye.je

ft. tt МуСИя

A Вне Types Proorim

Equiislobect; objeOJ % Equais(ob)ed)

GetHashCodeO

GetTypeO

> MembrrsMiSrCloneO

ReferrriceEqoalJlobjec objedj

ToS<ringO

Puc. 9.5. Отображение скрытых элементов и дополнительной информации в окне Class View



Таблица 9.3. Возможные значки

Значок

Что обозначает

Проект

Пространство имен

Класс

Интерфейс

Метод

Свойство

Поле

Структура

Перечисление

Элемент перечисления

Событие

Делегат

Сборка

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

Таблица 9.4. Обозначения, указывающие на уровень доступа

Значок

Уровень доступа, на который он указывает

Приватный

Защищенный

Внутренний

Для обозначения абстрактных, герметизированных и виртуальных элементов никакие значки не используются.

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

Все остальные элементы на рис. 9.5 являются ссылками проектов (Project References). Они позволяют просматривать те сборки, на которые ссылаются проекты, а в данном



1 ... 70 71 72 [ 73 ] 74 75 76 ... 396

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика