|
Программирование >> Программирование с использованием ajax
□ Переход и работа в режиме Break с использованием разнообразных точек останова. □ Применение окон с отладочной информацией в VS. □ Пошаговое выполнение кода. □ Обработка исключений с помощью блоков try. . .catch. . . finally. Теперь вам известно обо всем, что может потребоваться для создания простых консольных приложений, равно как и для их отладки. В следующей главе речь пойдет о мощной технологии объектно-ориентированного программирования. Упражнения Предпочтительнее использовать Trace. WriteLine (), а не Debug. WriteLine (), поскольку последняя версия работает только в отладочных сборках. Согласны ли вы с данным утверждением, и если да, то почему? Напишите код для простого приложения с циклом, предусматривающим генерацию ошибки после выполнения 5000 итераций. Используйте точку останова для перехода в режим Break непосредственно перед возникновением ошибке на 5000-й итерации. (Примечание: проще всего добиться генерации ошибки, попытавшись получить доступ к несуществующему элементу массива, например, к myArray [1000] в массиве, который содержит сотню элементов). Блоки кода finally выполняются только в том случае, если не выполняется блок catch . Так это или нет? С учетом наличия перечисления по имени orientation, определение которого приведено в показанном ниже коде, напишите приложение, использующее технологию структурной обработки исключений (SEH) для безопасного приведения переменной типа byte к orientation. (Примечание: с помощью ключевого слова checked можно обеспечить принудительную генерацию исключений, пример чего и показан здесь. Обязательно используйте этот код в приложении.) enum orientation : byte { north = 1, south = 2, east = 3, west = 4 myDirection = checked((orientation)myByte); Введение в объектно-ориентированное программирование К этому моменту в настоящей книге был изложен весь базовый материал по синтаксису языка С# и программированию на нем, а также показано, как выполнять отладку приложений и создавать пригодные для использования консольные приложения. Однако для получения доступа к по-настоящему мощным возможностям С# и .NET Framework необходимо обратиться к объектно-ориентированному программированию (ООП). На самом деле, как станет понятно уже совсем скоро, эти приемы уже демонстрировались в этой книге, но для простоты внимание на этом просто не акцентировалось. В настоящей главе описание кода временно откладывается, а все внимание уделяется рассмотрению принципов, лежащих в основе объектно-ориентированного программирования. Это снова подразумевает возврат к языку С#, поскольку между ним и ООП существует тесная связь. Все понятия, приводимые в этой главе, будут более подробно рассматриваться в последующих главах на конкретных примерах, поэтому не стоит переживать, если в каком-то материале не получится разобраться сразу. В первую очередь здесь затрагиваются основы ООП и, конечно же, даются ответы на самые фундаментальные вопросы вроде того, что вообще собой представляет объект Терминология ООП поначалу может показаться несколько запутанной, поэтому предоставляется много объяснений, которые, помимо всего прочего, также позволяют увидеть и то, что для применения ООП необходимо взглянуть на программирование по-другому. Помимо общих принципов ООП в главе затрагивается и область, которая требует глубокого понимания ООП - приложения Windows Forms. Приложения этого типа (работающие в среде Windows и имеющие элементы управления вроде меню, кнопок и т.п.) предоставляют огромную область для описания и позволяют эффективно проиллюстрировать основные моменты ООП в среде Windows Forms. В частности, в настоящей главе рассматриваются следующие основные темы. □ Что собой представляет ООП. □ Какие существует приемы ООП. □ Каким образом приложения Windows Forms основываются на ООП. Концепции объектно-ориентированного программирования, описанные в данной главе, по сути, рассчитаны на среду .NET, из-за чего некоторые из приводимых здесь приемов могут не работать в других средах, поддерживающих ООП. Во время программирования на С# необходимо применять ориентированные на .NET приемы ООП, поэтому именно на них и делается акцент. Что собой представляет объектно-ориентированное программирование Объектно-ориентированное программирование является относительно новым подходом к созданию компьютерных приложений, который стремится устранить многие из проблем, существующих в традиционных методиках программирования. Тот вид программирования, с которым доводилось пока иметь дело в этой книге, называется функциональным (или процедурным) программированием и часто приводит к созданию так называемых монолитных приложений, все функциональные возможности в которых содержатся в нескольких модулях кода (а зачастую и вообще в одном). Приемы ООП обычно подразумевают использование гораздо большего количества модулей кода, каждый из которых предоставляет специфическую функциональность и может быть изолирован или существовать совершенно независимо от всех остальных. Такое модульное программирование обеспечивает гораздо большее разнообразие и возможности для многократного использования кода. Чтобы еще лучше показать, о чем идет речь, представим, что высокопроизводительное приложение на компьютере является высококлассным гоночным автомобилем. В случае создания с помощью традиционных приемов программирования этот спортивный автомобиль будет представлять собой одно целое. При желании улучшить что-нибудь в этом автомобиле его придется заменять целиком, т.е. отправлять обратно изготовителю и позволять их профессиональному механику модернизировать его, или вообще покупать новый автомобиль. В случае же применения ООП достаточно будет, например, купить у изготовителя новый мотор и самостоятельно заменить его, следуя инструкциям изготовителя и не погружаясь глубоко в изучение деталей по проведению ремонтных работ. В более традиционном приложении поток выполнения зачастую является простым и линейным. Приложения загружаются в память, начинают выполняться в точке А, завершают свою работу в точке Б и затем выгружаются из памяти. Во время этого могут использоваться и другие разнообразные сущности, вроде файлов на носителе данных или возможности видеокарты, но основная часть обработки происходит в одном месте. Код обычно занимается манипулированием данных, используя для этого различные математические и логические средства. Методы манипулирования обычно выглядят довольно просто и подразумевают использование базовых типов, вроде целочисленных или булевских, для построения более сложных представлений данных. В случае применения ООП подобная линейность практически не встречается. Хотя результаты достигаются те же, путь к ним зачастую выглядит совершенно по-другому. В ООП основной акцент делается на структуру и значение данных, а также на взаимодействие этих данных с другими данными. Это обычно выражается в боль-
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |