|
Программирование >> Программирование на языке c++
ries. Непосредственным предшественником языка С++ был язык С с классами (С with classes) [1]. Причины появления языка С++ детально оговорены в видеофильме Bjarne Stroustrup The Design of С++ (University Video Cormnunications, March, 2, 1994). Главное влияние на этот процесс оказал язык Simula, а также стремление улучшить один из наиболее популярных ЯЗЫКОВ программирования С. В основе языка С++ лежат три базовых принципа [1]: он должен быть лучше, чем язык С; -♦ он должен поддерживать абстрактные типы данных; он должен поддерживать объектно-ориентированное программирование. Сегодня разработано несколько версий этого языка (l.xx, 2.XX, З.хх, 4.хх). Версия l.xx добавляет в язык С базовые конструкции объектно-ориентированного программирования, такие как классы, простое наследование (single inheritance) и полиморфизм. Версия 2.0, которая появилась в 1989 году, добавляет множественное наследование (multiple inheritance). Версия 3.0 (1990 год) вводит понятие шаблона (template) или параметризированного класса и механизм обработки исключений (exception handling). С начала 90-х годов появились компиляторы языка С++ для персональных компьютеров, среди которых, в первую очередь, следует назвать Turbo С++ и Borland С++ кампании Borland International Inc. и Visual С++ фирмы Microsoft. Сегодня трансляторы языка С++ доступны практически на всех современных компьютерах. Бесспорная эффективность, распространенность и популярность этого объектно-ориентированного языка программирования послужили причиной того, что он выбран за основу в данной книге. Говоря об объектно-ориентированной технологии нельзя не упомянуть о другом направлении, которое появилось много раньше, мало связано с программированием, но воплощает в себе многие идеи объектно-ориентированного подхода. Речь идет о теории и проектировании цифровых (дискретных) систем и, в первую очередь, о теории конечных автоматов. При этом можно рассмотреть много аналогий. Более того, родоначальник объектно-ориентированного программирования ЯЗЫК Simula, вообще говоря, является специализированным ЯЗЫКОМ для описания задач имитационного модели- рования вычислительных систем. Наиболее важная черта языка Simula [2, с. 475] это то, что в процессе моделирования он непосредственно отражает суть проблемы, т. е. специфика физически взаимодействующих объектов может быть непосредственно изображена средствами языка программирования. Однако много раньше были созданы и получили очень сильное развитие соответствующие теории вычислительных систем, дискретных систем и конечных автоматов. В рамках этих теорий и развивающегося современного направления объектно-ориентированного программирования можно найти много общего. 1. ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ 1.1. Основные этапы проектирования программ Проектирование и последующая поддержка программного обеспечения включает несколько этапов [3, с. 4] (эти этапы называются жизненным циклом программного продукта - softwares life cycle): 1) разработка спецификации (specification); 2) проектирование или конструирование программы (design); 3) доказательство правильности проекта (verification); 4) кодирование, т. е. описание программ на языке программирования (coding); 5) отладка и проверка правильности программ (debugging and testing); 6) доработка и улучшение программ (refining); 7) производство окончательного программного продукта (production); 8) поддержка программного продукта в процессе его использования (maintenance). Рассмотрим перечисленные этапы более подробно. На первом этапе детально анализируется основная цель разработки программы и составляется подробное описание всех действий, которые она должна выполнеть. Такое содержательное описание называется спецификацией. При разра-
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |