Автор работы: Пользователь скрыл имя, 14 Мая 2015 в 15:16, курсовая работа
Объектно-ориентированное программирование (ООП) возникло в результате развития идеологии процедурного программирования, где данные и подпрограммы (процедуры, функции) их обработки формально не связаны. Для дальнейшего развития объектно-ориентированного программирования часто большое значение имеют понятия события и компонента
ВВЕДЕНИЕ..................................................................................................................4
1 ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ...................6
1.1 Подходы к проектированию...........................................................................6
1.2 Основные идеи объектно-ориентированного программирования..................8
Вывод..........................................................................................................................11
2 ОБЗОР СРЕДСТВ РАЗРАБОТКИ......................................................................12
2.1 Определение C++.........................................................................................12
2.2 Сравнение языко С++ и Си…………...........................................................13
2.1 Обзор сред для программирования на С++.......................................................15
Вывод..........................................................................................................................18
3 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ КЛАССА FILESTREAM............................19
2.1 Постановка задачи...............................................................................................19
2.2 Реализация класса FileStream...........................................................................19
Вывод..........................................................................................................................21
ЗАКЛЮЧЕНИЕ..........................................................................................................22
ГЛОССАРИЙ.............................................................................................................23
СПИСОК АББРЕВИАТУР......................................................................................24
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ....................................................
Выбор С в качестве базового языка для С++ объясняется следующими его достоинствами:
(1) универсальность, краткость и относительно низкий уровень;
(2) адекватность большинству
задач системного
(3) он идет в любой системе и на любой машине;
(4) полностью подходит для программной среды UNIX.
В С существуют свои проблемы, но в языке, разрабатываемом "с нуля" они появились бы тоже, а проблемы С, по крайней мере, хорошо известны. Более важно то, что ориентация на С позволила использовать язык "С с классами" как полезный (хотя и не очень удобный) инструмент в течение первых месяцев раздумий о введении в С классов в стиле Симулы.
С++ стал использоваться шире, но по мере роста его возможностей, выходящих за пределы С, вновь и вновь возникала проблема совместимости. Ясно, что отказавшись от части наследства С, можно избежать некоторых проблем . Это не было сделано по следующим причинам:
(1) существуют миллионы строк программ на С, которые можно улучшить с помощью С++, но при условии, что полной переписи их на язык С++ не потребуется;
(2) существуют миллионы
строк библиотечных функций и
служебных программ на С, которые
можно было бы использовать
в С++ при условиях совместимости
обоих языков на стадии
(3) существуют сотни тысяч
программистов, знающих С; им достаточно
овладеть только новыми
(4) поскольку С и С++ будут использоваться одними и теми же людьми на одних и тех же системах многие годы, различия между языками должны быть либо минимальными, либо максимальными, чтобы свести к минимуму количество ошибок и недоразумений. Описание С++ было переработано так, чтобы гарантировать, что любая допустимая в обоих языках конструкция означала в них одно и то же.
Как язык, так и
стандартные библиотеки С++ проектировались
в расчете на переносимость. Имеющиеся
реализации языка будут
Язык С сам развивался
в последние несколько лет, что
отчасти было связано с
Для изучения С++ не обязательно знать С. Программирование на С способствует усвоению приемов и даже трюков, которые при программировании на С++ становятся просто ненужными. Например, явное преобразование типа (приведение) , в С++ нужно гораздо реже, чем в С (см. "Замечания для программистов на С" ниже). Тем не менее, хорошие программы на языке С по сути являются программами на С++. Например, все программы из классического описания С [8] являются программами на С++. В процессе изучения С++ будет полезен опыт работы с любым языком со статическими типами.
Microsoft Visual C++ (MSVC) - интегрированная среда разработки приложений на языке C++, разработанная фирмой Microsoft и поставляемая либо как часть комплекта Microsoft Visual Studio, либо отдельно в виде бесплатного функционально ограниченного комплекта Visual C++ Express Edition. Сменила интегрированную среду разработки Microsoft QuickC.
Dev-C++ - свободная интегрированная среда разработки приложений для языков программирования C/C++. В дистрибутив входит компилятор MinGW. Сам Dev-C++ написан на Delphi. Распространяется согласно GPL.
Проект поддерживается SourceForge. Основатель проекта Колин Лаплас, компания Bloodshed Software. Одно время был доступен Linux-порт, однако на настоящее время актуализирована только Windows-версия. На настоящий момент оригинальный Dev-C++ не разрабатывается[1].
Продолжением разработки активно занимается Orwell.
wxDev-C++ является развитием проекта Dev-C++, но также содержит дизайнер форм для библиотеки разработки wxWidgets. WxDev-C++ включает все свойства Dev-C++, а также новейшую версию wxWidgets необходимую дизайнеру форм для среды быстрой разработки приложений.
NetBeans IDE - свободная интегрированная среда разработки приложений (IDE) на языках программирования Java, Python, PHP, JavaScript, C, C++, Ада[1] и ряда других.
Проект NetBeans IDE поддерживается и спонсируется компанией Oracle, однако разработка NetBeans ведется независимым сообществом разработчиков-энтузиастов (NetBeans Community) и компанией NetBeans Org.
По качеству и возможностям последние версии NetBeans IDE не уступают лучшим коммерческим (платным) интегрированным средам разработки для языка Java, таким, как IntelliJ IDEA, поддерживая рефакторинг, профилирование, выделение синтаксических конструкций цветом, автодополнение набираемых конструкций на лету, множество предопределённых шаблонов кода[1].
Для разработки программ в среде NetBeans и для успешной инсталляции и работы самой среды NetBeans должен быть предварительно установлен Sun JDK или J2EE SDK подходящей версии. Среда разработки NetBeans по умолчанию поддерживала разработку для платформ J2SE и J2EE. Начиная с версии 6.0 NetBeans поддерживает разработку для мобильных платформ J2ME, C++ (только g++) и PHP без установки дополнительных компонентов.
MinGW (англ. Minimalist GNU for Windows), ранее mingw32, - компилятор, родной (native) программный порт GNU Compiler Collection (GCC) под Microsoft Windows, вместе с набором свободно распространяемых библиотек импорта и заголовочных файлов для Windows API. MinGW позволяет разработчикам создавать родные (native) приложения Microsoft Windows[2]. В MinGW включены расширения для библиотеки времени выполнения Microsoft Visual C++ для поддержки функциональности C99.
Code::Blocks - свободная кроссплатформенная среда разработки. Code::Blocks написана на С++ и использует библиотеку wxWidgets. Имея открытую архитектуру, может масштабироваться за счёт подключаемых модулей. Поддерживает языки программирования С, С++, D (с ограничениями), Fortran.
Code::Blocks разрабатывается для Windows, Linux и Mac OS X. Среду можно собрать из исходников практически под любую Unix-подобную систему, например FreeBSD.
KDevelop - свободная интегрированная среда разработки для UNIX-подобных операционных систем. Разработка началась в 1998 году. KDevelop распространяется согласно условиям GNU General Public License.
KDevelop не включает в свой состав компилятор; вместо этого он использует GNU Compiler Collection (или любой другой компилятор) для создания машинного кода[1].
KDevelop поддерживает большое
Eclipse - свободная интегрированная среда разработки модульных кроссплатформенных приложений. Развивается и поддерживается Eclipse Foundation.
Наиболее известные приложения на основе Eclipse Platform - различные «Eclipse IDE» для разработки ПО на множестве языков (например, наиболее популярный «Java IDE», поддерживавшийся изначально, не полагается на какие-либо закрытые расширения, использует стандартный открытый API для доступа к Eclipse Platform
Geany - свободная среда разработки программного обеспечения, написанная с использованием библиотеки GTK2. Доступна для следующих операционных систем: BSD, Linux, Mac OS X, Solaris и Windows. Geany распространяется согласно GNU General Public License.
Geany не включает в свой состав компилятор. Для создания исполняемого кода используется GNU Compiler Collection или, при необходимости, любой другой компилятор[1].
Вывод
Для разработки класс FileStream, был изучен язык программирования С++. Был проведен сравнение языка С++ и Си.
Обратите внимание, что в случае FileMode, если запрашивается режим, не соответствующий существующему состоянию файла, может быть сгенерировано исключение. Значения Append, Open и Truncate будут приводить к генерации исключения, если файл не существует, а значение CreateNew - наоборот, если он уже существует. Значения Create и OpenOrCreate подходят в обоих сценариях, но Create приводит к удалению любого существующего файла и замене его новым, изначально пустым.
Поскольку считываться будут двоичные файлы, необходимо чтобы приложение было способно отображать непечатаемые символы. Для этого каждый байт файла будет отображаться отдельно, с выводом по 16 байтов в каждой строке многострочного текстового поля. В случае если байт представляет собой печатаемый ASCII-символ, будет отображаться этот символ, а если нет, то содержащее в байте значение будет отображаться в шестнадцатеричном формате. И в том и в другом случае отображаемый текст должен дополняться пробелами так, чтобы отображаемый байт занимал четыре столбца[9].
Листинг программы будет представлен
в приложении 1.
Вывод
Была произведена реализация класса FileStream, с помощью языка С++ и средства для разработки Microsoft Visual C++.
Объектно-ориентированное программирование (ООП) – парадигма программирования, в которой основными концепциями являются понятия объектов и классов.
Была произведена реализация класса FileStream, с помощью языка С++ и средства для разработки Microsoft Visual C++.
Информация о работе Основные идеи объектно-ориентированного программирования