Г. Шилдт - Полный справочник по C#, страница 7
Описание файла
PDF-файл из архива "Г. Шилдт - Полный справочник по C#", который расположен в категории "". Всё это находится в предмете "языки программирования" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 7 страницы из PDF
Простым примером полиморфизма может послужить руль автомобиля. Руль(интерфейс) остается рулем независимо от того, какой тип рулевого механизма используется в автомобиле. Другими словами, руль работает одинаково в любом случае: оснащен ли ваш автомобиль рулевым управлением прямого действия, рулевым управлениемс усилителем или реечным управлением. Таким образом, поворот руля влево заставитавтомобиль поехать влево независимо от типа используемого в нем рулевого управления.
Достоинство такого единообразного интерфейса состоит, безусловно, в том, что, есливы знаете, как обращаться с рулем, вы сможете водить автомобиль любого типа.32,Часть I. Язык С#Тот же принцип можно применить и к программированию. Рассмотрим, например, стек (stack), т.е. область памяти, функционирующую по принципу "последнимпришел — первым обслужен". Предположим, вы пишете программу, для которойнужно организовать три различных типа стека. Один стек предназначен для целочисленных значений, второй — для значений с плавающей точкой, а третий — для символов. В этом случае для реализации каждого стека используется один и тот же алгоритм, несмотря на различие в типах сохраняемых данных.
В случае не объектноориентированного языка вам пришлось бы создать три набора "стековых" подпрограмм, имеющих различные имена. Но благодаря полиморфизму в среде С# можносоздать один общий набор "стековых" подпрограмм, который обрабатывает все тритипа стека. Иными словами, зная, как использовать один стек, можно использоватьвсе остальные.Концепцию полиморфизма часто выражают такой фразой: "один интерфейс —много методов". Это означает, что для выполнения группы подобных действий можноразработать общий интерфейс.
Полиморфизм позволяет понизить степень сложностипрограммы, предоставляя программисту возможность использовать один и тот же интерфейс для задания общего класса действий. Конкретное (нужное в том или иномслучае) действие (метод) выбирается компилятором. Программисту нет необходимости делать это вручную. Его задача — правильно использовать общий интерфейс.НаследованиеНаследование — это процесс, благодаря которому один объект может приобретатьсвойства другого.
Благодаря наследованию поддерживается концепция иерархическойклассификации. В виде управляемой иерархической (нисходящей) классификацииорганизуется большинство областей знаний. Например, яблоки Красный Делишес являются частью классификации яблоки, которая в свою очередь является частью классафрукты, а тот — частью еще большего класса пища. Таким образом, класс пища обладает определенными качествами (съедобность, питательность и пр.), которые применимы и к подклассу фрукты. Помимо этих качеств, класс фрукты имеет специфические характеристики (сочность, сладость и пр.), которые отличают их от других пищевых продуктов. В классе яблоки определяются качества, специфичные для яблок(растут на деревьях, не тропические и пр.).
Класс Красный Делишес наследует качествавсех предыдущих классов и при этом определяет качества, которые являются уникальными для этого сорта яблок.Если не использовать иерархическое представление признаков, для каждого объекта пришлось бы в явной форме определить все присущие ему характеристики. Ноблагодаря наследованию объекту нужно доопределить только те качества, которые делают его уникальным внутри его класса, поскольку он (объект) наследует общие атрибуты своего родителя.
Следовательно, именно механизм наследования позволяет одному объекту представлять конкретный экземпляр более общего класса.Первая простая программаНастало время рассмотреть реальную Сопрограмму./*Это простая Сопрограмма.Назовем ее Example.cs.*/Глава 2. Обзор элементов языка С#33using System;class Example {// Любая Сопрограмма начинается с вызова метода Main()public static void Main() {Console.WriteLine("Простая Сопрограмма.");На момент написания этой книги единственной доступной средой разработки С#программ была Visual Studio .NET.
Эта среда позволяет отредактировать, скомпилировать и выполнить Сопрограмму, причем это можно сделать двумя способами: с помощью компилятора командной строки c s c . e x e или интегрированной среды разработки (Integrated Development Environment — IDE). Здесь описаны оба способа. (Есливы используете иной компилятор, следуйте инструкциям, приведенным в сопроводительной документации.)Использование компилятора командной строки esc. ехеНесмотря на то что в случае коммерческих проектов вы, по всей вероятности, будете работать в интегрированной среде разработки Visual Studio, использование С#компилятора командной строки — самый простой способ скомпилировать и выполнить примеры программ, приведенные в этой книге.
Для создания и запуска программ с помощью С#-компилятора командной строки необходимо выполнить следующие действия.1. Ввести текст программы, используя любой текстовый редактор.2. Скомпилировать программу.3. Выполнить программу.Ввод текста программыПрограммы, представленные в этой книге, можно загрузить с Web-сайта компанииOsborne с адресом: www.osborne.com.
Но при желании вы можете ввести текст программ вручную. В этом случае необходимо использовать какой-нибудь текстовый редактор, например Notepad. Однако помните, что при вводе текста программ должныбыть созданы исключительно текстовые файлы, а не файлы с форматированием, используемым при текстовой обработке, поскольку информация о форматировании помешает работе С#-компилятора.
Введя текст приведенной выше программы, назовитесоответствующий файл Example. cs.Компилирование программыЧтобы скомпилировать программу, запустите С#-компилятор, c s c . e x e , указав вкомандной строке имя исходного файла.C:\>csc Example.csКомпилятор esc создаст файл с именем Example.exe, который будет содержатьMSIL-версию этой программы. Хотя MSIL-код не является выполняемым, тем не менее он содержится в ехе-файле.
При попытке выполнить файл Example.exe системаCommon Language Runtime автоматически вызовет ЛТ-компилятор. Однако имейте ввиду: если вы попытаетесь выполнить Example. ехе (или любой другой ехе-файл, содержащий MSIL-код) на компьютере, в котором не установлена среда .NETFramework, программа выполнена не будет ввиду отсутствия системы CLR.34Часть I. Язык С#I Па заметкуПеред запуском компилятора csc.exe вам, возможно, придется выполнить пакетный файл vcvars32 .bat, который обычно расположен в папке //ProgramFiles/Microsoftvisual studio .NET/Vc7/Bin.
В качестве альтернативного варианта можно перейти в режим работы по приглашению на ввод команды.Для С# этот режим инициализируется выбором команды Microsoft Visual Studio.NET&Visual Studio .NET Command Prompt ^Visual Studio .NET Tools из менюПуск ^Программы, активизируемом на панели задач.Выполнение программыДля выполнения программы достаточно ввести ее имя в командную строку.I С:\>ExampleПри выполнении этой программы на экране отобразится следующая информация:I Простая Сопрограмма.Использование Visual Studio IDEТеперь можно обратиться к версии 7 пакета Visual Studio .NET, поскольку Visual StudioIDE позволяет компилировать Сопрограммы.
Чтобы отредактировать, скомпилировать ивыполнить Сопрограмму с помощью интегрированной среды разработки пакета VisualStudio (версия 7), выполните следующие действия. (Если вы работаете с другой версиейпакета Visual Studio, возможно, придется следовать другим инструкциям.)1. Создайте новый (пустой) С#-проект, выполнив команду File^New^Project(Файл <=> Создать=> Проект).2.
Среди представленных типов проектов (на панели Project Types (Типы проектов)) выберите вариант Visual C# Projects (Проекты Visual C#), а затем (как показано на рис. 2.1) на панели Templates (Шаблоны) — шаблон Empty Project(Пустой проект).New ProjectTemplates:Project Types:wJ Visual Basic Projectsil* Visual C# Projects' (LJ Visual C++ Projects;• £d Setup and Deployment ProjectsE&J Other ProjectsASP.NETWeb Ap...ASP.NET Web Control;:WebS...LibraryI PConsoleApplicationWindowsService' Ш Visual Studio Solutions•;An empty projectforcreating a local applicationjProjectlJ D:\Work\Nina\Visual Studio Projectslocation:Project will be created at D:\WorkVSIina\Visual Studio Projects\projectl.OKCancelBrowse..HelpPuc.
2.1. Окно New Project (Создать проект)Глава 2. Обзор элементов языка С#353. Создав проект, щелкните правой кнопкой мыши на имени проекта в окнеS o l u t i o n Explorer (Проводник решений) Затем, используя всплывающееконтекстное меню, выберите команду Add^Add New Item (Добавить^Добавитьновый элемент) При этом экран должен выглядеть, как показано на рис 2 24. В открывшемся диалоговом окне Add New Item (Добавить новый элемент) на панели Categories (Категории) выберите вариант Local Project Items (Элементы локальных проектов), а на панели Templates — шаблон Code File (Файл с текстомпрограммы) При этом экран должен выглядеть, как показано на рис 2 3I] >«»Soul toi n Projectl (1 project)li+ a BudRebudlic r HA<&NewtlemA$jf\Add Existing ItemAdd ReferencetJ New Fodl erAdd Web ReferenceAdd Wnidows FormSet as Startup Project.3 Add Inherited FormDebug>iУ Save Projectlл Add User Control3 Add Inherited ConfrolX Removeij Add ComponentRenameAdd CalssВPropertiesРис 2 2 Контекстные меню при выборе командыAdd&Add New ItemUser Control Data FormWizardXML FileNameData SetXMLSchemaIcodeFilelcsOpenCancelHelpРис 2 3 Диалоговое окно Add New Item36Часть I.