Final-Sale-Receipt

Let us consider 2 SALES RECEIPT classes: RECEIPT1 and RECEIPT2. RECEIPT1 has a method that displays the message “Receipt Body 1”. RECEIPT2 has a method that displays the message “Receipt Body 2”. A SALES RECEIPT object has exactly 1 header and 1 footer. There are 2 possible HEADER classes (HEADER1 and HEADER2) and 2 possible FOOTER classes (FOOTER1 and FOOTER2).  HEADER1 class has a method that displays the message “Header 1”.  HEADER2 class has a method that displays the message “Header 2”.  FOOTER1 class has a method that displays the message “Footer 1”.  FOOTER2 class has a method that displays the message “Footer 2”. HEADER1 should be used with RECEIPT1 and FOOTER1. HEADER2 should be used with RECEIPT2 and FOOTER2. We would like to use the abstract factory pattern to create sales receipts.