ЛАБОРАТОРНАЯ РАБОТА № 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;
P.S.: вот что значит на работе делать нефиг ))