Главная » Просмотр файлов » Г. Шилдт - С# 3.0 Полное руководство. 2010

Г. Шилдт - С# 3.0 Полное руководство. 2010 (1160798), страница 7

Файл №1160798 Г. Шилдт - С# 3.0 Полное руководство. 2010 (Г. Шилдт - С# 3.0 Полное руководство. 2010) 7 страницаГ. Шилдт - С# 3.0 Полное руководство. 2010 (1160798) страница 72019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Как пояснялось выше, такой код выполняется под управлением среды С1.К, и поэтому на него накладываются определенные ограничения, хотя это дает и ряд преимуществ. Ограничения накладываются и удовлетворятся довольно просто: компилятор должен сформировать файл МВ11., предназначенный для выполнения в среде СЕК, используя при этом библиотеку классов .ХЕТ, — и то и другое обеспечивается средствами С№.

Ко многим преимуществам управляемого кода относятся, в частности, современные способы управления памятью, возможность программирования на разных языках, повышение безопасности, поддержка управления версиями и четкая организация взаимодействия программных компонентов. В отличие от управляемого кода, неуправляемый код не выполняется в среде СЕК. Следовательно, до появления среды .ХЕТ Ргашеттогк во всех программах для Ъгтпт)отчэ применялся неуправляемый код.

Впрочем, управляемый и неуправляемый коды могут взаимодействовать друг с другом, а значит, формирование управляемого кода в С№ совсем не означает, что на его возможность взаимодействия с уже существующими программами накладываются какие-то ограничения. Общеязыкоаая спецификация Несмотря на все преимушества, которые среда СЕК дает управляемому коду, для максимального удобства его использования вместе с программами, написанными на других языках, он должен подчинятся общеязыковой светкификьщыи (Сошшоп Еапйпайе Брес|1тсас1оп — СЕВ), которая определяет ряд общих свойств для разных .ХЕТ- совместимых языков. Соответствие СЕВ особенно важно при создании программных компонентов, предназначенных для применения в других языках. В С1.3 в качестве подмножества входит общая тттсшема типов (Сопппоп Туре Вузсеш — СТБ), в которой определяются правила, касающиеся типов данных.

И разумеется, в С№ поддерживается как С15, так и СТЯ. ГЛАВА Краткий обзор элементов СФ аибольшие трудности в изучении языка программирования вызывает то обстоятель- Н ство, что ни один из его элементов не существует обособленно. Напротив, все элементы языка действуют совместно. Такая взаимосвязанность затрудняет рассмотрение одного аспекта С№ безотносительно к другому Поэтому для преодоления данного затруднения в этой главе дается краткий обзор нескольких средств языка С№, включая общую форму программы на С№, ряд основных управляющих и прочих операторов. Вместо того чтобы углубляться в детали, в этой главе основное внимание уделяется лишь самым общим принципам написания любой программы на С№.

А большинство вопросов, затрагиваемых по ходу изложения материала этой главы, более подробно рассматриваются в остальных главах части 1. Объектно-ориентированное программирование Центральным понятием С№ является объектно-ориентированное программирование (ООП). Методика ООП неотделима от С№, и поэтому все программы на С№ являются объектно-ориентированными хотя бы в самой малой степени. В связи с этим очень важно и полезно усвоить основополагающие принципы ООП, прежде чем приступать к написанию самой простой программы на С№.

ООП представляет собой эффективный подход к программированию. Методики программирования претерпели существенные изменения с момента изобретения компьютера, постепенно приспосабливаясь, главным образом, к повышению сложности программ. Например, когда появились первые ЭВМ, программирование заключалось в ручном переключении на разные двоичные машинные команды с переднего пульта управления ЭВМ. Такой подход был вполне оправданным, поскольку программы состояли всего из нескольких сотен команд.

Дальнейшее усложнение программ привело к разработке языка ассемблера, который давал программистам возможность работать с более крупными и сложными программами, используя символическое представление отдельных машинных команд. Неуклонное усложнение программ вызвало потребность в разработке и внедрении в практику программирования таких языков высокого уровня, как, например, гОКТгсАХ и СОВОЦ которые предоставляли программистам больше средств для того, чтобы как-то справиться с постоянно растущей сложностью программ.

Но как толь- 38 Часть й йзык С» ко возможности этих первых языков программирования были полностью исчерпаны, появились разработки языков структурного программирования, в том числе и С. На каждом этапе развития программирования появлялись методы и инструментальные средства для обуздания неуклонно растущей сложности программ. И на каждом таком этапе новый подход вбирал в себя все самое лучшее из предыдущих, знаменуя собой прогресс в программировании.

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

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

Они организованы вокруг данных, исходя из главного принципа: "данные управляют доступом к коду". В объектноориентированном языке определяются данные и код, которому разрешается воздействовать на эти данные. Следовательно, тип данных точно определяет операции, которые могут быль выполнены над данными. Для поддержки принципов ООП все объектно-ориентированные языки программирования, в том числе н С№, должны обладать тремя обшими свойствами: инкапсуляцией, полнморфизмом и наследованием.

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

В объекте код, данные нли же н то и другое могут быть закрьктькми нлн же открьктыми. Закрытые данные илн код известны н доступны только остальной части обьекта. Это означает, что закрытые данные или код недоступны части программы, находящейся за пределами объекта. Если же данные илн код оказываются открытыми, то онн доступны другим частям программы, хотя н определены в объекте. Как правило, открытые части объекта служат для организации управляемого интерфейса с закрытыми частями. Основной единицей инкапсуляции в С№ является класс, который определяет форму объекта. Он описывает данные, а также код, который будет нмн оперировать. В С№ описание класса служит для построения объектов, которые являются экземплярамн класса. Следовательно, класс, по существу, представляет собой ряд схематических описаний способа построения объекта. Код н данные, составляющие вместе класс, называют членами.

Данные, определяемые классом, называют полллки, или переменными экзелкпллра. А код, оперирующий данными, содержится в функциях- шенар, самым типичным представителем которых является метод. В С№ метод служит в качестве аналога подпрограммы. (К числу других функций- членов относятся свойства, события и конструкторы.) Таким образом, методы класса содержат код, воздействующий на поля, определяемые этим классом.

Глава 2. Краткий обзор элементов С» 39 Полиморфизм Полиморфиэм, что по-гречески означает "множество форм", — это свойство, позволяющее одному интерфейсу получать доступ к общему классу действий. Простым примером полнморфнзма может служить руль автомашины, который выполняет одни и те же функции своеобразного интерфейса независимо от вида применяемого механизма управления автомашиной. Это означает, что руль действует одинаково независимо от вида рулевого управления: прямого действия, с усилением или реечной передачей.

Следовательно, при вращении руля влево автомашина всегда поворачивает влево, какой бы вид управления в ней ни применялся. Главное преимущество единообразного интерфейса заключается в том, что, зная, как обращаться с рулем, вы сумеете водить автомашину любого типа. Тот же самый принцип может быть применен и в программировании. Рассмотрим для примера стек, т.е. область памяти, функционирующую по принципу "последним пришел — первым обслужен". Допустим, что в программе требуются три разных типа стеков: один — для целых значений, другой — для значений с плавающей точкой, третий — для символьных значений. В данном примере алгоритм, реализующий все эти стеки, остается неизменным, несмотря на то, что в них сохраняются разнотипные данные. В языке, не являющемся объектно-ориентированным, для этой цели пришлось бы создать три разных набора стековых подпрограмм с разными именами.

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

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

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

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

Г. Шилдт - С# 3.0 Полное руководство
C_sharp_3TCR_code
Apndx.lst
Chap2.lst
Chap3.lst
Chap4.lst
Chap5.lst
Chap6.lst
Chap7.lst
Chap8.lst
Chap9.lst
Chap10.lst
Chap11.lst
Chap12.lst
Chap13.lst
Chap14.lst
Chap15.lst
Chap16.lst
Chap17.lst
Chap18.lst
Chap19.lst
Chap20.lst
Chap21.lst
Chap22.lst
Chap23.lst
Chap24.lst
Chap25.lst
Chap26.lst
Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6451
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее