Читаем C#. Объектно ориентированное программирование полностью

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

научимся.

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

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

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

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

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

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

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

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

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

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

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

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

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

Нас же интересуют конкретные способы их реализации. О них, собствен-

но, и будет идти речь в книге.

Конечно, в ООП не все так гладко, как об этом пишут в книгах. У ООП есть

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

выхода другого нет (ведь в C# реализуется парадигма ООП), мы воспри-

нимаем ООП как данность и искренне верим в то, что ООП — это новый

и исключительно прогрессивный этап в развитии программирования.

36

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

Нередко  применительно  к  среде  .NET  Framework  (и  языку  C#,  как

немаловажной  его  составляющей)  употребляют  такой  термин,  как

«компонентное программирование» или «компонентно-ориенти ро-

ван ное программирование». Некоторые специалисты даже считают

ком по нент но-ориентированное программирование парадигмой, кото-

рая приходит на смену ООП или является надстройкой к ООП. В двух

словах, ком по нент но-ори енти ро ван ное программирование принци-

пиально отличается от обычного ООП системой ограничений и правил, которые  применяются  к  методам  ООП  для  создания  программных

компонентов.  Изюминка  подхода  связана  с  тем,  что  компоненты

могут  быть  написаны  на  разных  языках  программирования.  Язык

C#  содержит  встроенные  средства  для  поддержки  компонентного

программирования.

Еще одна простая программа

Простота есть главное условие

красоты моральной.

Л. Толстой

Здесь мы рассмотрим еще один небольшой пример, который принципи-

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных