Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Класс POINT
Ниже приведена версия исходного текста класса POINT. Фрагменты, начинающиеся с двух тире "--", представляют собой комментарии, продолжающиеся до конца строки. Комментарии содержат пояснения, облегчающие понимание текста, и не влияют на семантику класса.
indexing description: "Точка на плоскости" class POINT feature x, y: REAL -- Абсцисса и ордината rho: REAL is -- Расстояние до начала координат (0, 0) do Result:= sqrt (x^2 + y^2) end theta: REAL is -- Полярный угол do -- Предлагается реализовать в качестве упражнения (упр. У7.3) end distance (p: POINT): REAL is -- Расстояние до точки p do Result:= sqrt ((x - p.x)^2 + (y- p.y)^2) end translate (a, b: REAL) is -- Перемещение на a по горизонтали, b по вертикали do x:= x + a y:= y + b end scale (factor: REAL) is -- Изменение расстояния до начала координат в factor раз do x:= factor * x y:= factor * y end rotate (p: POINT; angle: REAL) is -- Поворот вокруг p на угол angle do -- Предлагается реализовать в качестве упражнения (упр. У7.3) end end
Некоторые аспекты приведенного текста неочевидны и требуют дополнительных разъяснений. Класс в основном состоит из предложения, перечисляющего различные компоненты, вводимого ключевым словом feature. Кроме того, присутствует предложение indexing дающее общее описание (description), полезное для понимания функциональности класса, но никак не влияющее на семантику исполнения. Позднее будут рассмотрены три дополнительных предложения: inherit - для наследования; creation - при необходимости использования специального конструктора; invariant - для объявления инвариантов класса. Будет рассмотрена также возможность включения в класс двух или более предложений feature.
Date: 2015-12-13; view: 414; Нарушение авторских прав |