Главная » Просмотр файлов » 246071-Либерти-Освой-самостоятельно-С-за-21-день

246071-Либерти-Освой-самостоятельно-С-за-21-день (852741), страница 4

Файл №852741 246071-Либерти-Освой-самостоятельно-С-за-21-день (Освой С++ самостоятельно за 1 день. Книга) 4 страница246071-Либерти-Освой-самостоятельно-С-за-21-день (852741) страница 42021-10-05СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 4)

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

скрыты) в самом резисторе, важно только, чтобы он правильносправлялсясосвоимифункциями.ВязыкеC++свойствоинкапсуляцииподдерживаетсяпосредствомсозданиянестандартных(пользовательских) типов данных, называемых классами. О том, как создаются классы, выузнаете на занятии 6. После создания хорошо определенный класс действует как полностьюинкапсулированный объект, т.е.

его можно использовать в качестве целого программногомодуля. Настоящая же внутренняя работа класса должна быть скрыта. Пользователям хорошоопределенногоклассаненужнознать,какэтотклассработает;имнужнознатьтолькоодно—какегоиспользовать.НаследованиеимногократноеиспользованиеКогда инженеры из компании Acme Motors решили сконструировать новый автомобиль, уних было два варианта: они могли начать с нуля или модифицировать существующую модельStar. Возможно, эта модель почти идеальна, но хотелось бы добавить турбокомпрессор ишестискоростнуюпередачу.Главныйинженервыбралвторойвариант,т.е.неначинатьснуля,апостроить другую модель автомобиля Star, усовершенствовав ее за счет дополнительныхвозможностей.

При этом он предложил назвать новую модель Quasar, Quasar — эторазновидностьмоделиStar,нооснащеннаяновымидеталями.ЯзыкC++поддерживаетнаследование.Этозначит,чтоможнообъявитьновыйтипданных(класс), который является расширением существующего.

Об этом новом подклассе говорят, чтоон унаследован от существующего класса, и называют его производным. Модель Quasarпроизведена от модели Star, и поэтому она наследует все ее качества, но при необходимостиможетихрасширить.ОнаследованиииегоприменениивязыкеC++речьпойдетназанятиях11и15.ПолиморфизмНовая модель Quasar, в отличие от Star, может по-другому реагировать на нажатиеакселератора.ВмоделиQuasarможнодобавитьинжекторнуюсистемувпрыскиваниятопливавдвигатель и турбокомпрессор вместо использования карбюратора в модели Star.

Однакопользователю не обязательно знать об этих отличиях. Он может просто надавить на газ иожидатьсоответствующейреакцииавтомобиля,зарулемкоторогоонсидит.Язык C++ поддерживает возможность вносить изменения в выполнение одноименныхфункций для разных объектов благодаря так называемому полиморфизму функций и классов.Поли означает много, морфе — форма, следовательно, полиморфизм означает многообразиеформ.Подробноэтопонятиерассматриваетсяназанятиях10и13.ЭволюцияязыкаC++Когда назрела идея объектно-ориентированного анализа, проектирования ипрограммирования,БьярнСтрауструп(BjarneStroustrup)взялязыкС(наиболеепопулярныйдляразработки коммерческих программных продуктов) и расширил его, обогатив средствами,необходимымидляобъектно-ориентированногопрограммирования.Хотя язык C++ справедливо называют продолжением С и любая работоспособнаяпрограмманаязыкеСбудетподдерживатьсякомпиляторомC++,припереходеотСкC++былсделан весьма существенный скачок.

Язык C++ выигрывал от своего родства с языком С втечениемногихлет,посколькупрограммистымоглилегкоперейтиотСкиспользованиюC++.Однакомногиепрограммистыобнаружили,чтодлятого,чтобывполноймеревоспользоватьсяпреимуществами языка C++, им нужно отказаться от некоторых своих прежних знаний иприобрести новые, а именно: изучить новый способ концептуализации и решения проблемпрограммирования.НужнолисначалаизучитьязыкCУ многих возникает вопрос: "Поскольку C++ является продолжением языка С, нужно лисначала осваивать С?" Страуструп и большинство других программистов, использующих C++,считают,чтоэтонетольконенужно,ногораздолучшеэтогововсенеделать.Этакниганепредполагаетналичияучитателяпредварительногоопытапрограммирования.Но если вы знакомы с программированием на С, первые пять глав вам достаточно лишьпросмотреть.

Только начиная с занятия 6, мы приступим к настоящей разработке объектноориентированныхпрограмм.C++иJavaC++ в настоящее время считается господствующим языком, используемым для разработкикоммерческих программных продуктов. В последние годы это господство слегка заколебалосьблагодаря аналогичным претензиям со стороны такого языка программирования, как Java, номаятник общественного мнения качнулся в другую сторону, и многие программисты, которыебросили C++ ради Java, в последнее время поспешили вернуться к своей прежнейпривязанности.Влюбомслучаеэтидваязыкатакпохожи,чтоизучиводинизних,вына90%освоитедругой.СтандартANSIАккредитованный комитет стандартов (Accredited Standards Committee), действующий подруководствомАмериканскогонациональногоинститутастандартов(AmericanNationalStandardsInstitute—ANSI),создалмеждународныйстандартдляязыкаC++.Стандарт C++ также именуется в настоящее время как ISO — International StandardsOrganization (Международная организация по стандартизации).

Кроме того, когда говорят остандарте языка C++, иногда имеют в виду или NCITS (National Committee for InformationTechnologyStandards—Национальныйкомитетпостандартамнаинформационныетехнологии),или X3 (старое название комитета NCITS), или ANSI/ISO. В этой книге мы будемпридерживатьсястандартаANSI,посколькуэтонаиболеепопулярныйтермин.Примечание:АббревиатураANSIобычнопроизноситсякак"анси".СтандартANSI—этопопыткагарантировать,чтоязыкC++будетаппаратнонезависимым(т.е.

переносимым с компьютера на компьютер). Это значит, что программа, написанная всоответствиисостандартомANSIдлякомпиляторакомпанииMicrosoft,будеткомпилироватьсябез ошибок с использованием компилятора другого производителя. Более того, посколькуприведенные в этой книге программы являются ANSI- совместимыми, они должныкомпилироваться без ошибок на компьютерах, работающих на платформах Mac, Windows илиAlpha.ДлябольшинстваизучающихязыкC++стандартANSIостаетсяпрозрачным.Темнеменеесоответствие программного продукта общепринятым стандартам ANSI важно дляпрофессиональныхпрограммистов.Мыпозаботилисьотом,чтобывсепрограммы,вошедшиевэтукнигу,былиANSI-совместимыми.ПодготовкакпрограммированиюЯзык C++, возможно, больше любого другого требует от программиста до написанияпрограммы провести подготовительный этап, заключающийся в ее проектировании.

Прирешении тривиальных проблем, рассматриваемых в первых нескольких главах этой книги,можно обойтись и без затрат на проектирование. Однако сложные проблемы, с которымипрофессиональные программисты сталкиваются в реальной жизни чуть ли не каждый день,действительно требуют предварительного проектирования, и чем тщательнее оно будетпроведено, тем более вероятно, что программа сможет их решить, причем с минимальнымизатратами времени и денежных средств. При добросовестно проведенном проектированиисоздается программа, которую легко отладить и изменять в будущем. Было подсчитано, чтооколо 90% стоимости программного продукта составляет стоимость отладки и настройки.Удачно выполненное проектирование может значительно уменьшить эти расходы, а значит, истоимостьпроектавцелом.Первый вопрос, который нужно задать при подготовке к проектированию любойпрограммы,звучитпримернотак:"Какуюпроблемуяхочурешить?"Каждаяпрограммадолжнаиметь четкую, ясно сформулированную цель, и вы увидите, что это относится даже кпростейшимпрограммам,приведеннымвэтойкниге.Второй вопрос каждый уважающий себя программист поставит следующим образом:"Можнолирешитьэтупроблемусиспользованиемужеимеющихсяпрограммныхпродуктов,т.е.не изобретая собственного колеса?" Может быть, для решения этой проблемы достаточновоспользоватьсясвоейстаройпрограммой,ручкойибумагойиликупитьукого-тоужеготовуюпрограмму? Часто такое решение может оказаться лучше, чем создание абсолютно новойпрограммы.

Программист, предлагающий такую альтернативу, никогда не пострадает ототсутствияработы:умениенаходитьэкономныерешенияпроблемобеспечитемупопулярностьвбудущем.Уяснив проблему и придя к выводу, что она требует написания абсолютно новойпрограммы,выбудетеготовыкэтапупроектирования.Создание любого коммерческого приложения требует тщательного анализа проблемы ипроектирования ее эффективного решения. Хотя эти этапы логически предваряют этапнаписанияпрограммы,всежелучшеначатьсизучениябазовогосинтаксисаисемантикиязыкаC++ещедоизученияметодовформальногоанализаипроектирования.СредаразработкиВ этой книге предполагается, что в вашем компиляторе предусмотрен режим работы скомандной для непосредственного ввода данных, минуя графический интерфейс таких систем,как Windows или Macintosh.

Найдите опцию console или easy window либо обратитесь кдокументации,прилагаемойккомпилятору.Возможно, ваш компилятор имеет собственный встроенный текстовый редактор либо выможете использовать любой коммерческий текстовый редактор, сохраняющий файлы втекстовомформатебезатрибутовформатирования.ПримерамитакихредакторовмогутслужитьWindowsNotepad,командаDOSEdit,Brief,Epsilon,EMACSиvi.Такиекоммерческиетекстовыепроцессоры, как WordPerfect, Word и многие другие, также позволяют сохранять файлы втекстовомформате.Файлы, создаваемые с помощью текстовых редакторов, называются файлами источников.Они обычно имеют расширение .cpp, .cp или .с. В этой книге файлы, содержащие листингипрограмм,имеютрасширение.cpp,новсегдалучшепросмотретьдокументациюкомпилятора,скоторымвысобираетесьработать,ивыяснитьегопредпочтения.Примечание: Для большинства компиляторов C++ неважно, какое расширение имеетфайл,содержащийисходныйтекстпрограммы,хотямногиеизнихпоумолчаниюиспользуютрасширение .cpp.

Характеристики

Тип файла
PDF-файл
Размер
5,25 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

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