Нужна помощь полиморфизм

Позвольте мне привести пример того, что мне нужно для помощи:

Основной класс:

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).

Другие вопросы по тегам