Нужна помощь полиморфизм
Позвольте мне привести пример того, что мне нужно для помощи:
Основной класс:
cnd:Currency
usd:Currency
cc:Combined_Currency
usd := cc.usd
cnd := cc.cnd
Итак, класс Combined_Currency
имеет класс Currency
, Класс Currency имеет атрибуты, например exchange_rate
, Я верю Combined_Currency
класс будет иметь что-то вроде:
cnd:Currency
usd:Currency
У меня вопрос, как мне реализовать exchange_rate
часть? Я думаю, что exchange_rate является константой, поэтому мне не нужно ничего устанавливать на нее. Мне нужно, чтобы проверить, если: cad.exchange_rate = 1.5
В каком классе я устанавливаю exchange_rate для соответствующих валют? и кто-то может дать мне представление о том, что cad := cc.cad
средства.
1 ответ
Вот что я хотел бы сделать: во-первых, я бы установил класс Currency как отложенный и создал подклассы для представления каждой валюты (cad, usd и т. Д.). Я бы поставил exchange_rate в классе Currency. Конечно, если вы думаете, что вы будете обрабатывать много валют, вы можете использовать класс отложенной валюты и использовать создателя для инициализации атрибутов. После этого я бы выбрал базовую валюту (пример usd). В этой валюте currency_rate всегда будет равен 1, а значение currency_rate в любой другой валюте будет относительно базовой.
"Cad:= cc.cad" используется для получения локальной ссылки (cad) атрибута abject (cc.cad).