classBread():Menu(){overridefunadd(orderList:MutableSet<String>){println("[ Bread MENU ]")println("1. 소보루빵 | 간단한 설명")println("2. 단팥빵 | 간단한 설명")println("3. 마늘빵 | 간단한 설명")println("4. 맘모스빵 | 간단한 설명")varchoice=readln()!!.toInt()orderList.add(breadArray[choice-1][0].toString())}}
Class Snacks
classSnacks():Menu(){overridefunadd(orderList:MutableSet<String>){println("[ Snacks MENU ]")println("1. Snacks 1 | 간단한 설명")println("2. Snacks 2 | 간단한 설명")println("3. Snacks 3 | 간단한 설명")println("4. Snacks 4 | 간단한 설명")varchoice=readln()!!.toInt()orderList.add(snacksArray[choice-1][0].toString())}}
Class Cake
classCake():Menu(){overridefunadd(orderList:MutableSet<String>){println("[ Cake MENU ]")println("1. Cake 1 | 간단한 설명")println("2. Cake 2 | 간단한 설명")println("3. Cake 3 | 간단한 설명")println("4. Cake 4 | 간단한 설명")varchoice=readln()!!.toInt()orderList.add(cakeArray[choice-1][0].toString())}}
Class Order
classOrder():Menu(){overridefunadd(orderList:MutableSet<String>){//장바구니의 빵 정보를 받아와서 출력 예정 + 총 계산금액}}
간단한 설명
main 에서 Menu와 Order를 불러오는 식으로 코딩
장바구니 느낌을 내기 위해 index 상관없이 값이 담기는 Set으로 구현
Menu클래스는 모든 제품의 정보를 담고있고
Bread, Cake, Snacks 클래스는 Menu 클래스를상속한다.
Bread, Cake, Snacks 클래스가 호출되면 Menu에서 정보를 받아와 장바구니에 add 함수를 통해 제품을 input
마지막으로 main 클래스에서 결제를 선택하면 장바구니의 모든 상품의 정보를 가져와 결제를 도와주는 Order 클래스