Перевод на Русский!!
ЛАБОРАТОРНАЯ РАБОТА № 1
Тема: Объектно-ориентированное программирование. Классы. Инкапсуляция.
Цель: Научиться описывать классы.
Усвоить понятия: • ОО методология создания программ;
• цели ОО-программирования;
• основные принципы ОО методологии;
• класс, экземпляр класса, объект;
• атрибуты, методы объекта;
• протокол класса; • инкапсуляция;
• уровни видимости;
• переопределение метода;
• конструктор, деструктор.
Уметь: • описывать класс; • определять протокол класса.
Индивидуальные задания
Описать классы по приведенным ниже протоколами.
Сохранить описания каждого класса в отдельном модуле.
Написать программы для демонстрации всех методов описанных классов.
I. Класс точек в пространстве
type
TPoint = class
//------------------------- атрибуты ----------------------------------------------------------------------------
X, Y, Z : Real; // координаты точки в пространстве
//------------------------- методы - конструкторы-----------------------------------------------------------
constructor Create; overload; // создать точку (0;0;0)
constructor Create(X,Y,Z : Real); overload; // создать точку с заданными координатами
constructor CreateRead; // создать точку, координаты ввести с клавиатуры
//------------------------- методы ----------------------------------------------------------------------------
function GetX : Real; // получить координату X
function GetY : Real; // получить координату Y
function GetZ : Real; // получить координату Z
procedure SetX(X : Real); // установить координату X
procedure SetY(Y : Real); // установить координату Y
procedure SetZ(Z : Real); // установить координату Z
procedure MoveVector(A,B,C : Real);
// перемещение точки в направлении вектора (A,B,C)
function GetSphericalDistance : Real;
// получить координату "расстояние" в сферической системе координат
function GetSphericalAngleX : Real;
// получить значение угла от оси OX в сферической системе координат
function GetSphericalAngleZ : Real;
// получить значение угла от оси OZ в сферической системе координат
procedure SphericalToCartesian (Distance, AngleX, AngleZ : Real;
var coordX, coordY, coordZ : Real);
// переход от сферической системы координат к декартовой
procedure CartesianToPolar (coordX, coordY, coordZ : Real; var Distance, AngleX, AngleZ : Real);
// переход от декартовой системы координат кполярной
End;
|