package com.javarush.test.level14.lesson08.home09;
import java.util.ArrayList;
import java.util.List;
/* Валюты
1. Реализуй метод getAmount в классе Money:
1.1. Подумай, какого типа нужно создать приватную переменную, если метод getAmount будет ее возвращать.
1.2. Создай приватную переменную этого типа и верни ее в методе getAmount.
1.3. В конструкторе присвой ей значение, полученное параметром.
2. В отдельном файле создай класс Hrivna.
3. Наследуй класс Hrivna от класса Money.
4. В классе Hrivna реализуй метод getCurrencyName, который возвращает "HRN".
5. В отдельном файле создай класс USD.
6. Наследуй класс USD от класса Money.
7. В классе USD реализуй метод getCurrencyName, который возвращает "USD".
8. Подумай, объекты каких классов можно добавить в список(лист) allMoney.
9. Добавь в конструктор класса Person заполнение листа allMoney объектами всех возможных классов.
*/
public class Solution
{
public static void main(String[] args)
{
Person ivan = new Person("Иван");
for (Money money : ivan.getAllMoney())
{
System.out.println(ivan.name + " имеет заначку в размере " + money.getAmount() + " " + money.getCurrencyName());
}
}
static class Person
{
public String name;
Person(String name)
{
this.name = name;
this.allMoney = new ArrayList<Money>();
allMoney.add(new Hrivna(2));
allMoney.add(new USD(20));
//Add your code here
}
private List<Money> allMoney;
public List<Money> getAllMoney()
{
return allMoney;
}
}
}
package com.javarush.test.level14.lesson08.home09;
/**
* Created by promoscow on 17.08.16.
*/
public class USD extends Money
{
public USD(double amount)
{
super(amount);
}
@Override
public String getCurrencyName()
{
return "USD";
}
}
package com.javarush.test.level14.lesson08.home09;
public abstract class Money
{
private double amount;
public Money(double amount)
{
this.amount = amount;
}
public double getAmount()
{
return amount;
}
public abstract String getCurrencyName();
}
package com.javarush.test.level14.lesson08.home09;
/**
* Created by promoscow on 17.08.16.
*/
public class Hrivna extends Money
{
public Hrivna(double amount)
{
super(amount);
}
@Override
public String getCurrencyName()
{
return "HRN";
}
}
Leave A Comment