Понедельник, 06.05.2024, 14:58
Приветствую Вас Гость | RSS

Лекции

Меню сайта
Форма входа
Категории раздела
ТАУ (Теория автоматического управления) [31]
лекции по ТАУ
Экология [151]
учебник
Бухгалтерский учет и налогообложение в строительстве [56]
Дементьев А.Ю. - Практическое пособие
Психология [104]
Пип
информатика [80]
с# Карли Ватсон
современные стулья [0]
новинки
Поиск

Главная » Архив материалов
Дополнительные сведения
о классах
К настоящему моменту мы рассмотрели практически все основные приемы ООП,
использующиеся в С#; однако существует несколько более сложных способов,
с которыми также не мешает познакомиться. В этой главе будут обсуждаться сле-
дующие темы:
• Семейства — это объекты, в которых могут содержаться массивы
других объектов и которые обладают функциональными возможностями
для организации доступа к ним.
• Перегрузка операторов — процедура конфигурирования классов
с тем, чтобы иметь возможность применять такие операторы,
как, например, + , для выполнения операций над экземплярами
данного класса.
• Усложненное преобразование — некоторые дополнительные
возможности по преобразованию типов в С#.
• Глубокое копирование — это процедура копирования, гарантирующая,
что создаваемые объекты не содержат ссылок на данные,
хранящиеся в исходном объекте.
• Исключитель ... Читать дальше »
Категория: информатика | Просмотров: 1313 | Добавил: basic | Дата: 11.02.2010 | Комментарии (0)

Определение членов классов
В данной главе мы продолжим обсуждение способов определения классов
в С#. Теперь мы переходим к рассмотрению того, что необходимо для определения
членов классов, а именно полей, свойств и методов.
Мы начнем с того, что познакомимся с кодом, требующимся для определения
каждого из этих членов, а также рассмотрим создание необходимой структуры кода
с помощью соответствующего мастера (wizard) VS. Мы также узнаем, каким об-
разом можно быстро изменять члены, редактируя их свойства.
После того как вы познакомитесь с основами определения членов, мы перей-
дем к рассмотрению более сложных способов их использования: перевода членов
базового класса в скрытое состояние, обращения к переопределенным членам
базового класса и вложенных определений типов.
В заключение мы применим эту теорию на практике и создадим библиотеку
классов, которую можно будет постепенно достраивать и и ... Читать дальше »
Категория: информатика | Просмотров: 1498 | Добавил: basic | Дата: 11.02.2010 | Комментарии (0)

Определение классов
В предыдущей главе вы познакомились с возможностями объектно-ориентиро-
ванного программирования (ООП). В этой главе мы перейдем от теории к практи-
ке и рассмотрим определение классов в С#.
Для начала мы не будем заходить столь далеко, чтобы определять члены клас-
сов, а сконцентрируем свое внимание на определении самих классов. Может пока-
заться, что мы чересчур ограничиваем тему, но не волнуйтесь: в этой главе
содержится достаточное количество материала, который вам необходимо усвоить.
В первую очередь мы рассмотрим основной синтаксис, применяемый при опи-
сании классов, ключевые слова, которые могут использоваться для определения
режима доступа к классу и для других целей, а также способы задания наследова-
ния. Мы также разберем определение интерфейсов, поскольку оно во многих ас-
пектах сходно с описанием классов.
Остальная часть главы будет посвящена изучению раз ... Читать дальше »
Категория: информатика | Просмотров: 1542 | Добавил: basic | Дата: 11.02.2010 | Комментарии (0)

Введение
в объектно-ориентированное
программирование
В предыдущих главах мы рассмотрели синтаксис языка С# и основы програм-
мирования на нем. Кроме того, мы научились собирать работоспособные консоль-
ные приложения. Однако для того, чтобы получить доступ ко всему потенциалу С#
и .NET Framework, необходимо научиться использовать методы объектно-ориен-
тированного программирования (ООП). На самом деле некоторые из этих методов
уже применялись нами, однако чтобы не усложнять жизнь, мы не акцентировали
на этом внимание.
В этой главе мы на некоторое время отвлечемся от кода и сосредоточимся на
принципах, лежащих в основе ООП. Такой подход очень скоро приведет нас об-
ратно к языку С#, поскольку последний неразрывно связан с ООП. Ко всем по-
нятиям, введенным в настоящей главе, мы будем возвращаться в дальнейшем,
иллюстрируя их с помощью примеров программ, так что не следует впадать в па-
... Читать дальше »
Категория: информатика | Просмотров: 1453 | Добавил: basic | Дата: 11.02.2010 | Комментарии (0)

Обработка ошибок
Первая часть данной главы была посвящена способам поиска и исправления
ошибок в процессе разработки приложения, направленным на то, чтобы исклю-
чить их появление в окончательном варианте программы. Существуют, однако, си-
туации, когда заранее известно, что ошибки могут возникать, и способа добиться
100%-ной уверенности в их отсутствии не существует. В таких случаях рекоменду-
ется заранее предусмотреть возникновение проблем и написать такой код, который
мог бы аккуратно с ними справиться без прекращения выполнения приложения.
Обработка ошибок — это общее название всех способов такого рода; в данном
разделе будту рассмотрены возникновение исключительных ситуаций (exceptions)
и методы работы с ними.
Исключительные ситуации
Исключительная ситуация — это ошибка, возникшая либо в нашем коде, либо
в вызванной нашим кодом функции, которая проявилась в период выполнения.
В дан ... Читать дальше »
Категория: информатика | Просмотров: 1103 | Добавил: basic | Дата: 11.02.2010 | Комментарии (0)

Отладка и обработка ошибок
Итак, к настоящему моменту вы познакомились с основами простого програм-
мирования на С#. Перед тем как переходить к рассмотрению объектно-ориентиро-
ванного программирования, которому посвящен следующий раздел книги, мы
остановимся на вопросах отладки кода на С# и обработки ошибок.
Ошибки в программе — это такая вещь, от которой никогда не удастся избавить-
ся. Независимо от того, насколько опытным является программист, у него всегда
будут проскальзывать ошибки; составной частью понятия "опытный программист"
как раз и является понимание этой неизбежности и готовности с ними бороться.
Конечно, существуют некоторые незначительные ошибки, которые не оказывают
влияния на ход выполнения приложения, такие, например, как ошибки в правопи-
сании выводимого текста и т. п. Кроме того, существуют очевидные ошибки, кото-
рые приводят к абсолютной невозможности использования при ... Читать дальше »
Категория: информатика | Просмотров: 1299 | Добавил: basic | Дата: 11.02.2010 | Комментарии (0)

Делегаты
Делегатом называется тип, который позволяет хранить ссылки на функции.
Несмотря на то что звучит это несколько интригующе, механизм, лежащий в основе
этой возможности, удивительно прост. Наиглавнейшее предназначение делегатов
вряд ли удастся понять до тех пор, пока вы не познакомитесь с событиями и с их
обработкой, однако рассмотрение самого понятия делегатов принесет огромную
пользу. Когда позднее наступит время их использовать, они будут вам уже знако-
мы, что сделает некоторые сложные темы гораздо более легкими для понимания.
Объявление делегатов во многом напоминает объявление функций; при этом
отсутствует само тело функции, но добавляется ключевое слово delegate. Объяв-
ление делегата определяет сигнатуру функции, состоящую из возвращаемого типа
и списка параметров. После объявления делегата мы получаем возможность объя-
вить переменную типа этого делегата. Мы можем затем инициал ... Читать дальше »
Категория: информатика | Просмотров: 1403 | Добавил: basic | Дата: 11.02.2010 | Комментарии (0)

Функции структур
В предшествующей главе рассматривались типы структур, предназначенных для
хранения в одном месте нескольких элементов информации. На самом деле воз-
можностей у структур гораздо больше, и одной из них является способность содер-
жать не только данные, но и функции. На первый взгляд подобное может показаться
немного странным, однако на практике это приносит много пользы.
126 Глава 6
В качестве простого примера рассмотрим следующую структуру:
struct customerName
{ .
public string firstName, lastName;
' • £ W-Ш •: ,; :шШ : • :тШ-: Ш^ШШШ Ш : '• ': 111 i i t i i i ШШтШ:^ , > .:: •••' Шт Ш Ш ШШЙШШШШМШ ШШ-;• .: -;-; ШШШШ.
Если у нас имеются переменные типа customerName и нам необходимо вывести
на консоль полное имя, мы будем вынуждены конструировать это имя из его со-
ставных частей. Например, ДЛЯ переменной типа customerName С именем customer
можно использовать сле ... Читать дальше »
Категория: информатика | Просмотров: 839 | Добавил: basic | Дата: 11.02.2010 | Комментарии (0)

Функция MainQ
Теперь, когда вы познакомились почти со всеми простыми способами, приме-
няемыми для создания и использования функций, давайте вернемся назад и более
подробно рассмотрим функцию Main ().
Как было сказано ранее, функция Main о является точкой входа в приложение
на С# и выполнение этой функции охватывает выполнение приложения. У этой
функции имеется параметр — string [] args, однако до сих пор мы его не описы-
вали. В данном разделе вы познакомитесь с этим параметром и узнаете, каким
образом его можно применять.
Существуют четыре различные сигнатуры,
которые можно использовать для функции Main():
• static void Main()
• static void Main(string[] args)
124 Глава 6
• static int Main()
• static int Main(string[] args)
При желании аргумент args можно опускать.
Причина, по которой мы до сих пор пользовались вариантом
с этим аргументом,— в том, что такая версия генерируе ... Читать дальше »
Категория: информатика | Просмотров: 930 | Добавил: basic | Дата: 11.02.2010 | Комментарии (0)

Область действия переменных
и другие программные конструкции
Перед тем как пойти дальше, следует обратить внимание на то, что важность
заявлений, сделанных в предшествующем разделе, далеко выходит за рамки опре-
деления области действия переменных в разных функциях. Утверждалось, что об-
ласть действия переменных распространяется на блок кода, в котором они описаны,
и на все блоки, непосредственно в него вложенные. Это также применимо и к дру-
гим типам блоков, например, к программным конструкциям, использующим ветв-
ление и циклы. Рассмотрим следующую программу:
i n t i ; • -': :;-•.. :v: ' .Л , :
for (i = 0; i < 10; i++)
{ : ' '
string text = *Line * + Convert.ToString(i);
Console.WriteLine{*{0}•, text);
}
Console.WriteLine(*Last text output in loop: {0}", text);
В данной программе строковая переменная text является локальной для цикла for.
ТаКОЙ КОД не пройдет КОМПИЛЯЦИЮ, ... Читать дальше »
Категория: информатика | Просмотров: 1378 | Добавил: basic | Дата: 11.02.2010 | Комментарии (0)

« 1 2 3 4 5 6 7 ... 41 42 »
Календарь
«  Май 2024  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

krutoto.ucoz.ru
Бесплатный конструктор сайтов - uCoz