Задачи

Задача 1

Дефинирайте следния интерфейс:

public interface Vehicle {    
    public void drive();    
    public void stop();
    public void refuel();
    public void openDoors();
}

Имплементиракте го в класа Bike.

Всички методи ли имплементирахте?

Приложете принципа ISP и имплементирахте класовете Car, Truck

Задача 2

За примера от лагбораторно упражнение 2 може ли да бъде приложен принципа на ISP. Направете имплементация.

Задача 3

Дефинирайте следния интерфейс:

public interface Payments {
    
    public bool payMoney(double amount);
    
    public ScratchCard getScratchCard();
    
    public double getCashBackAsCreditBalance();
}

Имплементирайте клас GooglePay, който предоставя, възможност за:

  • Плащане на сметки, проверява наличноста и заплаща сумата, като я намаля.

  • Предосатавя скреч карта с награда, ако последната за плащане:

    • е над 100лв има 10% шанс за печеливша карта

    • е над 1000лв има 20% шанс за печеливша карта

    • е над 3 000лв има 30% шанс за печеливша картарта

    • е над 5 000лв има 50% шанс за печеливша карта

    • е над 10 000лв има 100% шанс за печеливша карта

  • Връщане на 10% от платената сума при 50% шанс за връщане, увеличава наличноста и връща CashBack сумата.

Имплементирайте клас Paytm, който предоставя, възможност за:

  • Плащане на сметки, проверява наличноста и заплаща сумата, като я освобождава 5 дни след плащането.

  • Връщане на 5% от платената сума при 70% шанс за връщане, увеличава наличноста и връща CashBack сумата.

В тази задача може ли да използвате ISP, как ще го направите?

Last updated