Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 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: 356; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию