книга (И.А. Волкова, А.В. Иванов, Л.Е. Карпов - Основы объектно-ориентированного программирования. Язык программирования С++), страница 2

PDF-файл книга (И.А. Волкова, А.В. Иванов, Л.Е. Карпов - Основы объектно-ориентированного программирования. Язык программирования С++), страница 2 Практикум (Прикладное программное обеспечение и системы программирования) (37574): Книга - 4 семестркнига (И.А. Волкова, А.В. Иванов, Л.Е. Карпов - Основы объектно-ориентированного программирования. Язык программирования С++) - PDF, страница 2 (375742019-05-09СтудИзба

Описание файла

Файл "книга" внутри архива находится в папке "И.А. Волкова, А.В. Иванов, Л.Е. Карпов - Основы объектно-ориентированного программирования. Язык программирования С++". PDF-файл из архива "И.А. Волкова, А.В. Иванов, Л.Е. Карпов - Основы объектно-ориентированного программирования. Язык программирования С++", который расположен в категории "". Всё это находится в предмете "практикум (прикладное программное обеспечение и системы программирования)" из 4 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 2 страницы из PDF

Так, в COM-технологии требуется наличие базовогонадкласса, что отсутствует в теории ООП.Некоторые отступления также имеются в визуальных реализациях C++:Visual C++ [6] в рамках пакета Microsoft Visual Studio, C++ Builder [3] фирмыBorland.В данном учебном пособии C++ рассматривается в строго теоретическом аспекте.5Объектно-ориентированное программирование (ООП)1.1. Краткий обзор основныхпарадигм программированияВ соответствии с концепцией фон-Неймана — основателя теоретическойконцепции компьютерной техники, процессор обрабатывает данные, выполняя инструкции (команды), которые находятся в той же оперативнойпамяти, что и данные.Таким образом, можно выделить две основные сущности процесса обработки информации: код, как совокупность инструкций, и данные.

Всепрограммы в соответствии с выбранной технологией программированияконцептуально организованы вокруг своего кода или вокруг своих данных.Рассмотрим основные на сегодняшний день парадигмы программирования:1. Процессно-ориентированная парадигма, при которой программапредставляет собой ряд последовательно выполняемых операций —модель фон-Неймана. При этом код воздействует на данные.Языки, реализующие эту парадигму, называются процедурнымиили императивными. Такими языками являются, например, C,Pascal и др.2.

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

Переход к объектным принципам программирования позволяет значительно улучшить внутреннюю организацию программы, в результате чего повышается производительность при разработке программных комплексов.Наряду с двумя вышеизложенными основными в настоящее время парадигмами программирования используются еще две парадигмы:1. Аппликативная или функциональная парадигма. Основная идеяданного подхода заключается в формализованном определениифункции, которую выполняет программа. Таким образом, вместоопределения последовательности состояний, через которые долженпройти компьютер, чтобы получить требуемый результат, необходимо определить функцию, при применении которой к исходнымданным получается требуемое решение:y = f (x)Разработка программы при этом подходе сводится к конструированиюсложной функции из имеющихся стандартных простых функций:y = f1 ( f 2 ( f 3 (...), f 4 (...),...))Языками, поддерживающими такую парадигму, являются, например,языки LISP и ML.

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

При этом подходе операторы программы выполняются не в той последовательности,в которой они написаны, а на основе анализа разрешающих условий (РУ).Программа при такой парадигме состоит из списка пар:РУ1 → D1РУ 2 → D 2................РУ N → DNЗдесь D1 , D2 ,..., DN — действия, выполняемые в случае истинности соответствующих разрешающих условий РУ1 , РУ 2 ,..., РУ N .Выполнение программы заключается в циклической проверке разрешающих условий и выполнения действий, соответствующих разрешающимусловиям, в случае истинности последних.Примером языка логического программирования является языкPROLOG.Структура программы при логическом программировании концептуально связана с теоретической концепцией нормальных алгоритмов Маркова, представляющей алгоритм преобразования информации в виде совокупности подстановок:T11 → T12T21 → T22.............TN 1 → TN 2Операторы с разрешающими условиями и подстановки просматриваются циклически до обнаружения завершающего условия.В данном курсе рассматривается парадигма ООП.7Объектно-ориентированное программирование (ООП)1.2.

Основные принципы ООПЦентральной идеей ООП является реализация понятия «абстракция». Смыслабстракции заключается в том, что сущность произвольной сложностиможно рассматривать, а также производить определенные действия над ней,как над единым целым, не вдаваясь в детали внутреннего построенияи функционирования.При создании программного комплекса необходимо разработать определенные абстракции.Пример:Задача составления расписания занятий.Необходимые абстракции: студент, курс лекций, преподаватель, аудитория.Операции:— Определить студента в группу— Назначить аудиторию для группы— ..........Одним из основных способов создания абстракции является использование концепции иерархической классификации.

Ее суть заключаетсяв том, что сложные системы разбиваются на более простые фрагменты.Практически все сложные системы иерархичны, и уровни их иерархииотражают различные уровни абстракции. Для каждой конкретной задачирассматривается соответствующий уровень. Выбор низшего уровня абстракции достаточно произволен. Выбранный уровень в одном случаев качестве низшего уровня может оказаться уровнем достаточно высокойабстракции в другом проекте.Различают типовую иерархию и структурную иерархию, которые далее мы будем называть соответственно структурой классов и структуройобъектов.Во всех объектно-ориентированных языках программирования реализованы следующие основные механизмы (постулаты) ООП:— инкапсуляция,— наследование,— полиморфизм.Все эти механизмы важны для разработки и использования абстракций.1) Инкапсуляция — механизм, связывающий вместе код и данные,которыми он манипулирует, и одновременно защищающий их от произвольного доступа со стороны другого кода, внешнего по отношению к рассматриваемому.

Доступ к коду и данным жестко контролируется интерфейсом.Основой инкапсуляции при ООП является класс.8Объектно-ориентированное программирование (ООП)Механизма инкапсуляции позволяет оставлять скрытыми от пользователя некоторые детали реализации класса (то есть инкапсулировать ихв классе), что упрощает работу с объектами этого класса.2) Наследование — механизм, с помощью которого один объект (производного класса) приобретает свойства другого объекта (родительского,базового класса). При использовании наследования новый объект не обязательно описывать, начиная с нуля, что существенно упрощает работу программиста. Наследование позволяет какому-либо объекту наследовать отсвоего родителя общие атрибуты, а для себя определять только те характеристики, которые делают его уникальным внутри класса.Наследование есть очень важное понятие, поддерживающее концепциюиерархической классификации.3) Полиморфизм — механизм, позволяющий использовать один и тотже интерфейс для общего класса действий.Пример:Имеются 3 типа стека для хранения:— целых чисел,— чисел с плавающей точкой,— символов.Вместо трех подпрограмм управления в объектно-ориентированнойпрограмме требуется всего одна подпрограмма (один интерфейс)Общая концепция полиморфизма: один интерфейс — много методов.Выбор конкретного действия (метода) применительно к конкретнойситуации возлагается на компилятор.

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

Однако в данном случае полиморфизмпроявляется неявно.1.3. Абстрактные типы данныхТипы данных, создаваемые пользователем (программистом), называютсяпользовательскими типами данных. Пользовательский тип данныхс полностью скрытой (инкапсулированной) внутренней структурой называется абстрактным типом данных (АТД).9Объектно-ориентированное программирование (ООП)В С++ АТД реализуется с помощью классов, в которых нет открытыхчленов-данных, то есть вся структура этих классов скрыта от внешнегопользователя.10Отличия C и C++Глава 2.Отличия C и C++Объектно-ориентированный язык программирования С++ унаследовал типыданных, операции и управляющие конструкции процедурного языкас (стандарт С90).Кроме реализации принципов объектно-ориентированного программирования в язык С++ по сравнению с C внесены и некоторые другие изменения, которые сделали его лучше и удобнее, чем С.

Рассмотрим основные ихних.2.1. Работа с динамическойпамятьюВ языке C++ для работы с динамической памятью введены операции newи delete, которыми можно пользоваться наряду с функцией стандартнойбиблиотеки с malloc.Операция new используется как для выделения памяти для одногообъекта (при этом возможна инициализация выделенной памяти передаваемым значением), так и для массива однородных объектов. Операция newвозвращает адрес начала выделенной динамической памяти соответствующего типа.Ее синтаксис:new тип;new тип (выражение-инициализатор);new тип [выражение_размерность_массива];Пример:int * p;int * q;p = new int(5);q = new int[10];////////выделение памяти и инициализациязначением 5выделение памяти для массива из 10элементов11Отличия C и C++Операция delete освобождает распределенную операцией new память.Ее синтаксис:delete указатель_на_объект;delete [ ] указатель_на_массив_объектов;Первая форма используется, если операцией new размещался единичный (скалярный) объект.

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5224
Авторов
на СтудИзбе
426
Средний доход
с одного платного файла
Обучение Подробнее