Выбрать главу

Помимо рабочего программного кода, из этого раздела мы узнали одну

принципиальную вещь. На ближайшее время все программные коды, ко-

торые мы будем составлять, соответствуют следующему шаблону: using простарнство_имен;

class имя_класса{

static void Main(){

// программный код

}

}

34

Глава 1. Информация к размышлению: язык C# и даже больше

Собственно, все, что нам нужно сделать для составления кода програм-

мы, — это указать имя класса и непосредственно код программы — код

метода Main(). Ну, конечно, еще подключить необходимые простран-

ства имен.

ПРИМЕЧАНИЕ Хотя главный метод программы должен называться Main(), его атри-

буты могут незначительно варьироваться. Например, метод может

возвращать целочисленный результат или принимать аргументы (па-

раметры командной строки).

Несколько слов об ООП

— Ученый совет должен быть в полном составе!

— Кота ученого приглашать будем?

Из к/ф «Чародеи»

Чтобы прочувствовать всю прелесть языка C#, необходимо иметь хотя бы

общее представление об основных принципах ООП, поскольку именно

принципы ООП реализуются в C# по полной программе. И здесь сразу

необходимо отметить, что ООП, строго говоря, появилось не от хорошей

жизни. Главная причина перехода от парадигмы процедурного программи-

рования к концепции ООП произошла, как это ни странно, для того, чтобы

программистам легче и проще было создавать и читать программные коды.

Обычно новшества появляются в ответ на некоторую проблему. Возникает

вопрос: ответом на какую проблему является появление ООП? Проблема

банальная — в какой-то момент объем программных кодов настолько уве-

личился, что держать все под контролем стало практически нереальным.

Что такое программа? Это, по сути, набор инструкций о том, какие дан-

ные и какими методами обрабатывать. Если и данных, и функций для их

обработки много, несложно во всей этой кухне запутаться. Главная идея

ООП как раз и состоит в том, чтобы объединить данные и функции для их

обработки на одном из базовых уровней — на уровне тех «строительных

блоков», из которых создается программа. Эта идея (идея объединения

в одно целое данных и программного кода для их обработки) называется

инкапсуляцией. Вообще же ООП базируется на трех «китах»:

 инкапсуляция;

 полиморфизм;

 наследование.

Несколько слов об ООП           35

Инкапсуляция проявляет себя во всей красе в виде концепции классов

и объектов. Мы уже обсуждали особенности классов и объектов. Здесь

снова напомним, как они соотносятся: класс является описанием объекта

и полностью определяет содержимое и поведение объекта. Объект созда-

ется на основе класса. Таким образом, в объекте «спрятаны» данные и про-

граммный код методов, которые имеют доступ к этим данным и могут их

обрабатывать. Объекты также взаимодействуют друг с другом. На первый

взгляд такой подход может показаться искусственно усложненным и даже

где-то неприятным, но это только первое впечатление. Впоследствии мы

убедимся, что с классами и объектами работать просто и приятно.

Чтобы понять всю эту небесную механику с классами и объектами, нам

предстоит к классам и объектам привыкнуть (это раз) и научиться ими

пользоваться (это два). Привыкать мы уже начали, а пользоваться

научимся.

Что касается полиморфизма, здесь главная идея состоит в том, чтобы уни-

фицировать однотипные действия, сведя к минимуму количество исполь-

зуемых методов. На практике это сводится к тому, что методы, выполняю-

щие схожие действия, называются одним именем, даже если действия эти

выполняются над данными разных типов.

ПРИМЕЧАНИЕ Полиморфизм базируется на перегрузке и переопределении методов.

Эти нехитрые процедуры мы будем обсуждать позже.

Термин « наследование» достаточно точно характеризует себя. Если кратко, то благодаря наследованию новые классы можно создавать на основе уже

существующих. Это очень сильно экономит время и силы, а также повы-

шает устойчивость и совместимость программного кода. Каждый из упо-

мянутых трех механизмов мы будем исследовать, только, быть может, без

прямого упоминания красивых и загадочных названий этих механизмов.

Ведь инкапсуляция, полиморфизм и наследование — это лишь общие идеи.