Программирование в Delphi математических процессов
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
?о реализуется тем, что объект-потомок может добавлять и переопределять методы, т.е. заменять методы предка на новые с теми же именами.
.2 Современные подходы к программированию
Основные подходы к программированию:
структурный, модульный;
функциональный;
логический;
объектно-ориентированный (ООП);
смешанный (комбинированный, интегрированный);
компонентно-ориентированный (.NET);
чисто объектный.
.2.1 Декларативные языки программирования
Время появления: 1960-е г.
Краткая характеристика: программа - описание действий, которые необходимо осуществить.
Преимущества:
простота верификации и тестирования программ;
строгость математической формализации;
высокая степень абстракции.
Недостатки:
сложность эффективной реализации;
необходимость фундаментальных математических знаний.
Примеры:(Interlisp, Common Lisp, Scheme), SML, Haskell, Prolog
1.2.2 Императивные (процедурные) языки программирования
Время появления: 1950-е г.
Краткая характеристика:
Программа - последовательность инструкций-операторов, включающих блоки типичных действий - процедуры или функции.
Преимущества:
более высокий уровень абстракции;
меньшая машинная зависимость;
более широкая совместимость;
содержательная значимость текстов программ;
унификация программного кода;
повышение производительности труда программистов.
Недостатки:
большие трудозатраты на обучение;
меньшая эффективность программного кода.
Примеры:, ALGOL, PL/1, APL, BPL, COBOL, Pascal, C, Basic
1.2.3 Функциональные языки программирования
Время появления: 1960-е г.
Краткая характеристика:
Программа - функция, аргументы которой, возможно, также являются функциями.
Преимущества:
полностью автоматическое управление памятью компьютера (сборка мусора);
простота повторного использования фрагментов кода;
расширенная поддержка функций с параметрическими аргументами (параметрический полиморфизм);
абстрагирование от машинного представления данных;
прозрачность реализации самоприменяемых (рекурсивных) функций;
удобство символьной обработки данных (списки, деревья).
Недостатки:
нелинейная структура программы;
относительно низкая эффективность.
Примеры:, SML, CaML, Haskell, Miranda, Hope
1.2.4 Объектно-ориентированные языки программирования
Время появления: 1970-е г.
Краткая характеристика:
Программа - описание объектов, их совокупностей, отношений между ними и способов их взаимодействия.
Преимущества:
интуитивная близость к произвольной предметной области;
моделирование сколь угодно сложных предметных областей;
событийная ориентированность;
высокий уровень абстракции;
повторное использование описаний;
параметризация методов обработки объектов.
Недостатки:
сложность тестирования и верификации программ.
Примеры:, C++, Visual Basic, C#, Eiffel, Oberon
1.3 Delphi, как мощный объектно-ориентированный язык
Совместимость с программами, созданными ранее средствами Borland Pascal, сохраняется, несмотря на то, что в язык внесены существенные изменения. Необходимость в некоторых усовершенствованиях давно ощущалась. Самое заметное из них - аппарат исключительных ситуаций, подобный тому, что имеется в C++, был первым реализован в компиляторах корпорации Borland. Не секрет, что при написании объектно-ориентированных программ, активно работающих с динамической памятью и другими ресурсами, немалую трудность представляет аккуратное освобождение этих ресурсов в случае возникновения нештатных ситуаций. Особенно это актуально для среды Windows, где число видов ресурсов довольно велико, а неряшливая работа с ними может быстро привести к зависанию всей системы. Предусмотренный в Delphi аппарат исключений максимально упрощает кодирование обработки нештатных ситуаций и освобождения ресурсов.
Объектно-ориентированный подход в новой версии языка получил значительное развитие. Перечислим основные новшества.
Введено понятие класса:
- реализованы методы классов, аналогичные статическим методам C++.
Они оперируют не экземпляром класса, а самим классом.
- механизм инкапсуляции во многом усовершенствован.
Введены защищенные поля и методы, которые, подобно приватным, не видны извне, но отличаются от них тем, что доступны из методов класса- наследника.
Введена обработка исключительных ситуаций. В Delphi это устроено в стиле С++. Исключения представлены в виде объектов, содержащих специфическую информацию о соответствующей ошибке (тип и место - нахождение ошибки). Разработчик может оставить обработку ошибки, существовавшую по умолчанию, или написать свой собственный обработчик. Обработка исключений реализована в виде exception-handling blocks (также еще называется protected blocks), которые устанавливаются ключевыми словами try и end. Существуют два типа таких блоков: try...except и try...finally.
Появилось несколько удобных синтаксических конструкций, в числе которых преобразование типа объекта с контролем корректности (в случае неудачи инициируется исключение) и проверка объекта на принадлежность классу.
Ссылки на классы придают дополнительный уровень гибкости, так, когда вы хотите динамически создавать объекты, чьи типы могут быть известны только во время выполнения кода. К примеру, ссылки на классы используются при формировании пользователем документа из разного типа объектов, где пользовател?/p>