Курсовые - Программа отправки и получения текстовых сообщений

ОБЪЕКТНО-ОРИЕНТИРОВАННЫЕ ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ

4.1     Основные понятия объектно-ориентированного программирования

 

Раньше программисты, в большинстве случаев, использовали функциональный или процедурный тип программирования. Все программы, большие и маленькие, писались в одном файле. В процессе разработки программы становились сложными и большими, из-за чего у разработчиков возникали проблемы в поддержке и внесении изменений в такие программы. Для решения этой проблемы было придумано объектно-ориентированное программирование.

Объектно-ориентированное программирование (ООП) – методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования.

Существуют чистые и гибридные объектно-ориентированные языки.

Чистые – языки, которые позволяют использовать только одну модель программирования – объектно-ориентированную. Можно объявлять классы и методы, но не можете завести глобальные переменные и обычные функции и процедуры старого типа.

Примерами чистых ОО языков могут быть Java и C#. На первый взгляд это кажется положительной идеей. Однако она ведет к тому, что вы используете кучу статических методов и статических данных, что не так уж отличается от использования глобальных функций и данных, за исключением более сложного синтаксиса. Чистые ОО языки дают преимущество новичкам в ООП, потому что программист вынужден использовать (и учить) модель ООП. C++ и Object Pascal, наоборот, являются типичными примерами гибридных языков, которые позволяют программистам использовать при необходимости традиционный подход C или Pascal.

Smalltalk расширяет эту идею до уровня «обобъекчивания» таких предопределенных типов данных, как целые и символы, а также языковых конструкций (таких как циклы). Это теоретически интересно, но сильно уменьшает эффективность. Java и C# останавливаются намного раньше, допуская присутствие простых не ОО типов данных (хотя имеются необязательные классы-обертки и для простых типов).

Ключевыми понятиями ООП являются класс и объект.

Класс – универсальный тип данных, с помощью которого описываются характеристики и возможные действия некоторой сущности.

В классах широко используются специальные блоки из одного или чаще двух спаренных методов, отвечающих за элементарные операции с определенным полем (интерфейс присваивания и считывания значения), которые имитируют непосредственный доступ к полю. Эти блоки называются «свойствами» и почти совпадают по конкретному имени со своим полем.

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

Описав класс, мы можем создать его экземпляр – объект. Объект – это конкретный представитель класса.

ООП основывается на нескольких базовых принципах, а именно:

- Инкапсуляция – свойство системы, позволяющее объединить данные и методы, работающие с ними в классе. В некоторых языках программирования инкапсуляция означает сокрытие внутренней реализации.

- наследование – принцип, позволяющий создавать новый класс на базе другого. Класс, от которого производится наследование, называется базовым, родительским или суперклассом. Новый класс называется потомком, наследником, дочерним или производным классом.

- полиморфизм подтипов (полиморфизм) – свойство системы, позволяющее использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта. Другой вид полиморфизма – параметрический – в ООП называют обобщенным программированием.

- абстракция данных (абстрагирование) означает выделение значимой информации и исключение из рассмотрения незначимой. В ООП рассматривают лишь абстракцию данных, подразумевая набор значимых характеристик объекта, доступный программе[2].

 

  1.  Технологии программирования, используемые для решения поставленных задач

 

Процесс проникновения IT-технологий во все сферы общества стал одним из наиболее значимых глобальных процессов современного мира. Численные методы представляют собой классическую область для применения вычислительной техники. До появления первых вычислительных средств теория численных методов обгоняла вычислительные возможности , однако со стремительной эволюцией компьютеров и быстрым развитием технологий программирования ситуация поменялась. Начиная с некоторых пор, уже вычислительные возможности обгоняют теоретические успехи.

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

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

С помощью данного подхода созданы следующие библиотеки для решения основных задач вычислительной математики:

- Методы решения нелинейных уравнений и систем.

- Методы решения дифференциальных уравнений и систем.

- Методы интерполяции и аппроксимации.

- Объектно-ориентированное моделирование операторных уравнений.

- Объектно-ориентированная реализация числовых функций и действительных чисел.

Решение математических задач с использованием объектно-ориентированного программирования является современной тенденцией образовательного процесса.

Количество комментариев: 0

Для того, чтобы оставить коментарий необходимо зарегистрироваться
Дата Выполнено, %
2020-05-21 20:03:25 10
2020-05-14 13:24:06 70
2020-05-14 14:21:43 100
Открытая Для скрытия необходимо уменьшить величину статуса выполнения.