Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 100

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 94 95 96 97 98 99 < 100 > 101 102 103 104 105 106 .. 404 >> Следующая


4. Напишите код в проекте по созданию библиотеки классов под названием vehicles, который реализовывал бы семейство объектов vehicle, обсуждавшееся в разделе, посвященном сравнению интерфейсов и абстрактных классов.

Требуется реализовать девять объектов и два интерфейса.

5. Создайте проект консольного приложения Traffic, который бы ссылался на vehiciee.dll, созданный в предыдущем упражнении. Предусмотрите функцию с именем AddPassenger О, которая могла бы принимать любой объект, где реализован интерфейс IPassengerCarrier. Чтобы убеДИТЬСЯ В ТОМ, ЧТО программа работает, предусмотрите вызов этой функции

с экземплярами каждого объекта, поддерживающего этот интерфейс, после чего вызовите для каждого объекта метод TaString( >, Наследуемый ОТ System.Object, и выведите результат его работы на экран.
ТО*

Определение членов классов

В данной главе мы продолжим обсуждение способов определения классов в С#. Теперь мы переходим к рассмотрению того, что необходимо для определения членов классов, а именно полей, свойств и методов.

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

После того как вы познакомитесь с основами определения членов, мы перейдем к рассмотрению более сложных способов их использования: перевода членов базового класса в скрытое состояние, обращения к переопределенным членам базового класса и вложенных определений типов.

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

Определение членов

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

? public (общий) — член, доступный нз любого кода.

? private (частный) — член, доступный только из того кода, который является составной частью данного класса (значение по умолчанию, которое используется в случае отсутствия ключевого слова).

? internal (внутренний) — член, доступный только из кода, находящегося внутри проекта (модуля), в котором он определен.

? protected (защищенный) — член, доступный только нз кода, являющегося составной частью данного класса или класса, производного от него.

Последние два ключевых слова могут использоваться совместно, т. е. член можно описать как protected internal. Такие члены доступны только нз производных классов, описанных в рамках проекта (или, точнее, модуля; модули будут рассматриваться в главе 21).

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

205

Определение полей

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

class HyClasa (

public int Hylnt;

}

Для имен общих полей в .NET Framework применяется система регистров PascalCasing, а не camelCasing, и в данной книге будет использоваться такой же подход.

Именно поэтому поле, описанное выше, названо Myint, а не myint. Это всего лишь рекомендуемая схема использования регистров, но она кажется автору наиболее осмысленной.

Для частных полей не существует никаких рекомендаций, такие поля обычно именуются с использованием системы camelCasing.

Для полей также может использоваться ключевое слово readonly (только чтение), что означает, что значение этого поля может быть задано только в процессе выполнения конструктора или при начальном присваивании. Например:

class МуСlass {

public readonly int Igylnt * 17;

}

Как было отмечено во введении к этой главе, поля могут объявляться статическими с помощью ключевого слова static. Напрнмер:

claaa MyClaas { .

public static int Hylnt;

)

Доступ к статическим полям может осуществляться через класс, в котором они описаны (для вышеприведенного примера — MyCiass.Myint), но не через экземпляры объектов данного класса.

Кроме всего этого, существует возможность использования ключевого слова conat (константа). Члены, описанные как const, являются статическими по определению, поэтому в данном случае модификатор static не требуется (более того, его использование является ошибочным).

Определение методов

Для описания методов используется стандартный формат функций и необязательный модификатор static. Напрнмер:

claaa MyCiass

I

public »trinor GetStringrO

{ ' return 'Это строка.';

)
206

fjiaea 10

При именовании методов в .NET Framework, как и при именовании полей, используется система PascalCasing, а не camelCasing.
Предыдущая << 1 .. 94 95 96 97 98 99 < 100 > 101 102 103 104 105 106 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.