import [Link].
Scanner;
// ===== Parent class =====
class Order {
// General method for placing order
void placeOrder(String item) {
[Link]("Order placed for: " + item);
}
// To be overridden
void showBill(String mode) {
[Link]("Bill printed. Payment made via " + mode + ".");
}
}
// ===== Child class =====
class OnlineOrder extends Order {
// Overloaded method for online orders with address
void placeOrder(String item, String address) {
double deliveryCharge = 40.0;
[Link]("Online order placed for: " + item);
[Link]("Delivery address: " + address);
[Link]("Delivery charge applied: ₹" + deliveryCharge);
}
// Overriding billing for online
@Override
void showBill(String mode) {
[Link]("E-Bill emailed. Payment done via " + mode + ".");
}
}
// ===== Main =====
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
OnlineOrder order = new OnlineOrder();
[Link]("Enter item: ");
S
String item = [Link]();
[Link]("Order type (online/physical): ");
S
String type = [Link]();
[Link]("Payment mode (Cash/UPI/Card): ");
S
String mode = [Link]();
if ([Link]("online")) {
[Link]("Enter delivery address: ");
String address = [Link]();
[Link](item, address); // Overloaded method
} else {
[Link](item); // Parent method
}
[Link](mode);
o // Overridden method
[Link]();
}
}