Программирование в 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>