Программирование >>  Структурное программирование 

1 ... 22 23 24 [ 25 ] 26 27 28 ... 342


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

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

Человечество узнает об объектах путем изучения их атрибутов и наблюдения их поведения. Разные объекты могут иметь много одинаковых атрибутов и представлять похожие черты поведения. Например, можно провести сравнение между детьми и взрослыми, людьми и шимпанзе. Легковые автомобили, грузовики, маленькие красные вагоны и роликовые коньки имеют много общего.

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

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

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

В С и других языках процедурного программирования программирование имеет тенденцию быть ориентированным на действия, тогда как в С-Ы- программирование стремится быть ориентированным на объекты. В С единицей программирования является функция. В C-I-+ единицей программирования



является класс, на основе которого в конечном счете создаются экземпляры объектов.

Программисты, использующие С, сосредоточены на написании функций. Группы действий, выполняющих некоторую общую задачу, формируются в виде функций, а функции группируются так, чтобы сформировать программу. Данные конечно важны в С, но существует мнение, что данные предназначены в первую очередь для поддержки выполняемых функциями действий. Глаголы в объявлении системы помогают программисту на С при разработке системы определить набор функций, которые, работая совместно, и обеспечивают функционирование системы.

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

В этой главе мы познакомились с одной из управляющих структур С++, а именно, со структурой if. Во второй главе мы обсудим шесть оставшихся управляющих структур и объясним, как формировать структурированные программы путем объединения управляющих структур с различными операторами действий. Мы обнаружим, что для формирования любой мыслимой программы на С++ необходимы только три разных типа управляющих структур и только два различных способа их комбинирования. В конце второй главы мы продолжим наше первоначальное знакомство с объектной ориентацией, определяя объекты, которые будут необходимы для разработки систем реального мира.

Резюме

Компьютер - это прибор, способный производить вычисления и принимать логические решения в миллионы или даже миллиарды раз быстрее человека.

Компьютеры обрабатывают данные под управлением компьютерных программ.

Различные устройства (такие как экран, диски, клавиатура, память и процессор) которые входят в состав компьютера, называются аппаратными средствами.

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

Входной блок является воспринимающей частью компьютера. Основная информация вводится сегодня в компьютеры с помощью клавиатур, подобных пишущей машинке.



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

Блок памяти является складирующей частью компьютера и его часто называют либо памятью, либо первичной памятью.

Арифметико-логическое устройство (АЛУ) выполняет вычисления и принимает решения.

Не используемые активно другими устройствами программы и данные обычно помещаются во вспомогательных запоминающих устройствах (таких как диски) до тех пор, пока они снова не будут нужны.

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

Операционные системы - это системы программного обеспечения, которые делают использование компьютеров более удобным и обеспечивают более высокую производительность компьютеров.

Мультипрограммные операционные системы предоставляют возможность одновременного выполнения многих заданий на компьютере - компьютер разделяет свои ресурсы между этими заданиями.

Разделение времени - это специальный случай мультипрограммной системы, когда пользователи имеют доступ к компьютеру через терминалы. Создается видимость одновременного выполнения программ пользователя.

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

Файл-серверы хранят программы и данные, которые могут быть использованы распределенными по сети компьютерами-клиентами, отсюда термин - вычисления на платформе клиент/сервер.

Любой компьютер может непосредственно понимать только свой собственный машинный язык.

Машинные языки в общем случае содержат ряды чисел (в конечном счете сведенных к единицам и нулям), которые являются командами компьютеру на выполнение большинства элементарных операций в тот или иной момент времени. Машинные языки машинно-зависимы.

Англо-подобные аббревиатуры образуют основу языков ассемблера. Ассемблеры транслируют языки ассемблера в машинные коды.

Компиляторы транслируют языки высокого уровня в машинные коды. Языки высокого уровня содержат английские слова и общепринятую математическую нотацию.

Интерпретирующие программы непосредственно выполняют программы на языках высокого уровня и не требуют их трансляции в машинный код.

Хотя скомпилированные программы выполняются быстрее, чем интерпретируемые программы, интерпретаторы популярны в таких услови-



1 ... 22 23 24 [ 25 ] 26 27 28 ... 342

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика