ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Разработка структурной организации объектовПростой пример объектно-ориентированного программирования
Разработаем модуль решения линейных, квадратных и биквадратных уравнений в области вещественных чисел для любых вещественных коэффициентов (в том числе и нулей). Разработка структурной организации объектов В ООП линейное уравнение вида a1x+a0=0 и его решение можно определить как совокупность полей, представляющих собой - коэффициент при неизвестном a1, - свободный член a0, - значение единственного корня x1, - количество корней k (значение минус 1 – множество корней, 0 – корней нет, 1 – один корень), и методов, осуществляющих - задание полей a1 и a0 (метод INIT), - решение линейного уравнения – формирование полей x1 и k (метод LINUR), - вывод решения на экран (метод PRINT). Объектный тип для решения линейного уравнения назовем именем TLINUR.
Объектный тип для решения квадратного уравнения вида a2x2+a1x+a0=0 (дадим имя TKVUR) построим на базе типа TLINUR. При определении типа TKVUR добавим следующие поля: - коэффициент a2 при квадрате неизвестного, - значение второго корня x2, переопределим метод INIT, так как необходимо задавать значения трех исходных данных и добавим методы: - решение квадратного уравнения KVUR, - вывод решения на экран, использующий ранее определенный метод PRINT (метод PRINT2).
Объектный тип TBIKVUR для решения биквадратного уравнения вида a2x4+a1x2+a0=0 построим на базе типа TBIKVUR. При этом добавим поля для возможных третьего и четвертого корней х3 и х4 и методы BIKVUR – решение биквадратного уравнения и PRINT4 – вывод решений биквадратного уравнения на экран, использующий ранее определенный метод PRINT2.
Исходя из вышесказанного, определим объектные типы следующим образом type {линейное уравнение} tlinur=object a0,a1:real;{свободный член и коэффициент при х} k:integer; {количество корней – минус 1, 0, 1} x1:real; {значение корня} procedure init (a,b:real); {инициализация} procedure linur; {решение линейного уравнения} procedure print; {вывод решения на экран} end;
{квадратное уравнение} tkvur=object(tlinur) a2,x2:real; {коэффициент при квадрате неизвестного и второй корень} procedure init(a,b,c:real); {инициализация} procedure kvur; {решение квадратного уравнения} procedure print2; {вывод решения на экран} end;
{биквадратное уравнение} tbikvur=object(tkvur) x3,x4:real; {третий и четвертый корни} procedure bikvur; {решение биквадратного уравнения} procedure print4; {вывод решения на экран} end;
Структура данных для объекта типа линейное уравнение (TLINUR):
Адреса методов для объектов типа TLINUR:
Объектный тип TKVUR наследует все поля типа TLINUR, после этого добавляются собственные поля а2 и х2. Поэтому структура данных для объекта нового типа:
При наследовании методов собственный метод INIT заменяет одноименный родительский метод и добавляются методы KVUR и PRINT2.
Структура данных для объекта типа TBIKVUR – биквадратного уравнения выглядит так:
Таблица методов для типа TBIKVUR:
Разработка методов Не нашли, что искали? Воспользуйтесь поиском:
|