diff --git a/src/CardPayment.java b/src/CardPayment.java
new file mode 100644
index 0000000..4908cae
--- /dev/null
+++ b/src/CardPayment.java
@@ -0,0 +1,11 @@
+class CardPayment implements PaymentMethod {
+ @Override
+ public void pay(int amount) {
+ System.out.println("Pay card: " + amount + " грн");
+ }
+
+ @Override
+ public String name() {
+ return "Card";
+ }
+}
diff --git a/src/Main.java b/src/Main.java
new file mode 100644
index 0000000..c51bb1c
--- /dev/null
+++ b/src/Main.java
@@ -0,0 +1,16 @@
+//TIP To Run code, press or
+// click the icon in the gutter.
+public class Main {
+ public static void main(String[] args) {
+ PaymentProcessor processor = new PaymentProcessor();
+ PaymentMethod card = new CardPayment();
+ PaymentMethod paypal = new PaypalPayment();
+ processor.process(card, 1000);
+ processor.process(paypal, 500);
+ System.out.println();
+ card.payWithFee(1000, 25);
+ paypal.payWithFee(500, 10);
+ }
+}
+
+
diff --git a/src/PaymentMethod.java b/src/PaymentMethod.java
new file mode 100644
index 0000000..63a9194
--- /dev/null
+++ b/src/PaymentMethod.java
@@ -0,0 +1,14 @@
+interface PaymentMethod {
+ String name();
+
+ void pay(int amount);
+
+ default void payWithFee(int amount, int fee) {
+ int totalAmount = amount + fee;
+ System.out.println("Total amount to pay: " + totalAmount);
+ pay(totalAmount);
+ }
+}
+
+
+
diff --git a/src/PaymentProcessor.java b/src/PaymentProcessor.java
new file mode 100644
index 0000000..da617eb
--- /dev/null
+++ b/src/PaymentProcessor.java
@@ -0,0 +1,6 @@
+class PaymentProcessor{
+ public void process(PaymentMethod method, int amount) {
+ System.out.println("Processing payment with " + method.name());
+ method.pay(amount);
+ }
+}
\ No newline at end of file
diff --git a/src/PaypalPayment.java b/src/PaypalPayment.java
new file mode 100644
index 0000000..c6f5100
--- /dev/null
+++ b/src/PaypalPayment.java
@@ -0,0 +1,11 @@
+class PaypalPayment implements PaymentMethod {
+ @Override
+ public String name() {
+ return "PayPal";
+ }
+
+ @Override
+ public void pay(int amount) {
+ System.out.println("Paying " + amount + " using PayPal.");
+ }
+}