//Task-4:Abstraction
abstract class Payment {
abstract void makePayment(double amount);
}
class CreditCardPayment extends Payment {
@Override
void makePayment(double amount) {
System.
out.
println("Payment of " + amount
+ " made using Credit Card."); }
}
class UPIPayment extends Payment {
@Override
void makePayment(double amount) {
System.
out.
println("Payment of " + amount
+ " made using UPI."); }
}
public class Main
{
public static void main
(String[] args
) { Payment p;
p = new CreditCardPayment();
p.makePayment(5000);
p = new UPIPayment();
p.makePayment(2000);
}
}
Ly9UYXNrLTQ6QWJzdHJhY3Rpb24KCmFic3RyYWN0IGNsYXNzIFBheW1lbnQgewoKICAgIGFic3RyYWN0IHZvaWQgbWFrZVBheW1lbnQoZG91YmxlIGFtb3VudCk7Cn0KY2xhc3MgQ3JlZGl0Q2FyZFBheW1lbnQgZXh0ZW5kcyBQYXltZW50IHsKCiAgICBAT3ZlcnJpZGUKICAgIHZvaWQgbWFrZVBheW1lbnQoZG91YmxlIGFtb3VudCkgewogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiUGF5bWVudCBvZiAiICsgYW1vdW50ICsgIiBtYWRlIHVzaW5nIENyZWRpdCBDYXJkLiIpOwogICAgfQp9CgpjbGFzcyBVUElQYXltZW50IGV4dGVuZHMgUGF5bWVudCB7CgogICAgQE92ZXJyaWRlCiAgICB2b2lkIG1ha2VQYXltZW50KGRvdWJsZSBhbW91bnQpIHsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlBheW1lbnQgb2YgIiArIGFtb3VudCArICIgbWFkZSB1c2luZyBVUEkuIik7CiAgICB9Cn0KCnB1YmxpYyBjbGFzcyBNYWluCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKCSAgICBQYXltZW50IHA7CgogICAgICAgIHAgPSBuZXcgQ3JlZGl0Q2FyZFBheW1lbnQoKTsKICAgICAgICBwLm1ha2VQYXltZW50KDUwMDApOwoKICAgICAgICBwID0gbmV3IFVQSVBheW1lbnQoKTsKICAgICAgICBwLm1ha2VQYXltZW50KDIwMDApOwoJfQp9