Πολυμορφισμός με ταίριαγμα προτύπων
Με εντολές
switch
μπορούμε να
γράψουμε κώδικα για συγκεκριμένους τύπους με
βάση το
ταίριασμα προτύπων (pattern matching).
class PaternMatch {
class RetailCustomer {}
class BusinessCustomer {}
/** Return the document a given object shall receive */
private static String documentName(Object o) {
return switch (o) {
case RetailCustomer rc -> "receipt";
case BusinessCustomer bc -> "invoice";
default -> "unknown document";
};
}
public static void main(String[] args) {
var retailCustomer = new RetailCustomer();
var businessCustomer = new BusinessCustomer();
System.out.println("Retail customer gets "
+ documentName( retailCustomer));
System.out.println("Business customer gets "
+ documentName(businessCustomer));
}
}