Главная » Просмотр файлов » 1629295407-c61bfe4caba98380ea3e7cdae6295416

1629295407-c61bfe4caba98380ea3e7cdae6295416 (846200), страница 24

Файл №846200 1629295407-c61bfe4caba98380ea3e7cdae6295416 (Шилдт Герберт - Полный справочник по C#) 24 страница1629295407-c61bfe4caba98380ea3e7cdae6295416 (846200) страница 242021-08-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 24)

Вместе с тем вопределенных ситуациях ее использование может быть очень полезным. В этой книге былорешено ограничить использование инструкции goto рамками этого раздела, так как, помнению большинства программистов, она вносит в программу лишь беспорядок и делает еепрактически нечитабельной. Но поскольку использование инструкции goto в некоторыхслучаях может сделать намерение программиста яснее, ей стоит уделить некотороевнимание.Инструкция goto требует наличие в программе метки. Метка — это действительныйв C# идентификатор, за которым поставлено двоеточие.

Метка должна находиться в одномметоде с инструкцией goto, которая ссылается на эту метку. Например, с помощью gotoможно организовать следующий цикл на 100 итераций:x = 1;loop1:x++;if(x < 100) goto loop1;Глава 5. Инструкции управления123Инструкцию goto можно также использовать для перехода к case- или defaultветви внутри инструкции switch. Ведь, по сути, case- и default-инструкции являютсяметками.

Следовательно, они могут принимать “эстафету” управления, передаваемуюинструкцией goto. Но в этом случае инструкция goto должна обязательно находиться в“рамках” той же инструкции switch. Это значит, что с помощью какой-либо “внешней”инструкции goto нельзя попасть в инструкцию switch. Рассмотрим пример, которыйиллюстрирует использование инструкций goto и switch.// Использование инструкций goto и switch.using System;class SwitchGoto {public static void Main() {for(int i=1; i < 5; i++) {switch(i) {case 1:Console.WriteLine("В ветви case 1");goto case 3;case 2:Console.WriteLine("В ветви case 2");goto case 1;case 3:Console.WriteLine("В ветви case 3");goto default;default:Console.WriteLine("В ветви default");break;}Console.WriteLine();}}}// goto case 1; // Ошибка! Нельзя впрыгнуть// в инструкцию switch.Результаты выполнения этой программы выглядят так:В ветви case 1В ветви case 3В ветви defaultВВВВветвиветвиветвиветвиcase 2case 1case 3defaultВ ветви case 3В ветви defaultВ ветви defaultОбратите внимание на то, как используется инструкция goto для перехода к ветвямcase и default инструкции switch.

Обратите также внимание на то, что caseпоследовательность инструкций не завершается инструкцией break. Поскольку goto непозволяетcase-последовательности“провалиться”вследующуюcaseпоследовательность,124Часть I. Язык C#то специальное средство от “провала” (break) не требуется. Как разъяснялось выше,инструкцию goto нельзя использовать для проникновения извне в switch-конструкцию.Если удалить символы комментария в начале строки// goto case 1; // Ошибка!...то программа не скомпилируется. Использование инструкции goto совместно синструкцией switch может быть полезно в особых случаях, но не рекомендуется какобщий стиль программирования,Иногда инструкцию goto стоит использовать для выхода из глубоко вложенныхинструкций.

Вот простой пример:// Демонстрация использования инструкции goto.using System;class Use_goto {public static void Main() {int i=0, j=0, k=0;for(i=0; i < 10; i++) {for(j=0; j < 10; j++) {for(k=0; k < 10; k++) {Console.WriteLine("i, j, k: " + i + " " +j + " " + k);if(k == 3) goto stop;}}}}}stop:Console.WriteLine("Все, хватит! i, j, k: " + i +", " + j + ", " + k);Результаты выполнения этой программы выглядят так:i, j, k: 0 0 0i, j, k; 0 0 1i, j, k: 0 0 2i, j, k: 0 0 3Все, хватит! i, j, k: 0, 0, 3Для того чтобы получить такие же результаты, но без инструкции goto, пришлосьбы использовать три пары инструкций if и break. В данном случае инструкция gotoсущественно упрощает программный код. Несмотря на то что этот пример — совершенноискусственный, вы, вероятно, смогли представить ситуации, в которых применениеинструкции goto может иметь преимущества перед другими вариантами.Глава 5.

Инструкции управления125Полныйсправочник поГлава 6Введение в классы,объекты и методыВэтой главе вы познакомитесь с классом. В нем вся суть C#, поскольку именно классомопределяется природа объекта. Это — фундамент, на котором построен язык C#.Класс как таковой формирует основу для объектно-ориентированного программирования вC#. Внутри класса определяются данные и код действий, выполняемых над этими данными.Этот код сосредоточен в методах.

Получив представление о классах, объектах и методах,вы сможете писать более сложные программы и лучше понимать ключевые элементы C#,описанные в следующих главах.Введение в классыПоскольку все C#-программы оформляются в виде класса, мы работаем с классами ссамого начала этой книги.

Конечно же, мы использовали самые простые классы, с помощьюкоторых нельзя продемонстрировать все их достоинства. Как будет показано ниже, классы— это очень мощный инструмент, и вы еще сумеете оценить их богатые возможности.Итак, начнем с азов. Класс — это шаблон, который определяет форму объекта. Онзадает как данные, так и код, который оперирует этими данными. C# используетспецификацию класса для создания объекта. Объекты — это экземпляры класса. Такимобразом, класс — это множество намерений (планов), определяющих, как должен бытьпостроен объект. Важно четко понимать следующее: класс — это логическая абстракция.

Оее реализации нет смысла говорить до тех пор, пока не создан объект класса, и в памяти непоявилось физическое его представление.И еще. Вспомните, что методы и переменные, составляющие класс, называютсячленами класса.Общая форма определения классаОпределяя класс, вы определяете данные, которые он содержит, и код,манипулирующий этими данными. Несмотря на то что очень простые классы могутвключать только код или только данные, большинство реальных классов содержат и то, идругое.Данные содержатся в переменных экземпляров, определяемых классом, а код — вметодах.

Однако важно с самого начала отметить, что класс определяет также рядспециальных членов данных и методов-членов, например статические переменные,константы, конструкторы, деструкторы, индексаторы, события, операторы и свойства. Покамы ограничимся рассмотрением переменных экземпляров и методов класса, а к концу главыпознакомимся с конструкторами и деструкторами. Остальные типы членов класса описаныв последующих главах.Класс создается с помощью ключевого слова class. Общая форма определениякласса, который содержит только переменные экземпляров и методы, имеет следующийвид:class имя_класса {// Объявление переменных экземпляров.доступ тип переменная1;доступ тип переменная2;//...доступ тип переменнаяN;// Объявление методов.доступ тип_возврата метод1(параметры) {// тело метода}Глава 6.

Введение в классы, объекты и методы127доступ тип_возврата метод2(параметры) {// тело метода}доступ тип_возврата методN(параметры) {// тело метода}}Обратите внимание на то, что объявление каждой переменной и каждого методапредваряется элементом доступ. Здесь элемент доступ означает спецификатор доступа(например, public), который определяет, как к этому члену можно получить доступ. Какупоминалось в главе 2, члены класса могут быть закрытыми в рамках класса или болеедоступными.

Спецификатор доступа определяет, какой именно разрешен тип доступа.Спецификатор доступа необязателен, и, если он не указан, подразумевается, что этот члензакрыт (private). Члены с закрытым доступом (закрытые члены) могут использоватьсятолько другими членами своего класса. В примерах этой главы все члены классовопределяются как public-члены, а это значит, что их могут использовать все остальныесоставные части программного кода, даже те, которые определены вне класса. Крассмотрению спецификаторов доступа мы вернемся в главе 8.Несмотря на отсутствие специального синтаксического правила определения класса(его качественного и количественного состава), все же считается, что класс долженопределять только одну логическую сущность.

Например, класс, в котором хранятся именалиц и их телефонные номера, не должен (по общепринятым меркам) также содержатьинформацию о среднем количестве осадков, циклах возникновения пятен на Солнце ипрочую не связанную с конкретными лицами информацию. Другими словами, правильноопределенный класс должен содержать логически связанные данные. И наоборот, помещаяв один класс логически несвязанные данные, вы рискуете деструктурировать свой код.Классы, которые мы использовали в этой книге до сих пор, содержали только одинметод — Main(). Вскоре мы узнаем, как создавать и другие методы. Однако заметьте, чтов общей форме определения класса метод Main() не задан. Он нужен только в том случае,если определяемый класс является отправной точкой программы.Определение классаДля иллюстрации мы создадим класс, который инкапсулирует информацию о зданиях(домах, складских помещениях, офисах и пр.).

Характеристики

Тип файла
PDF-файл
Размер
5,05 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее