키오스크 과제를 풀면서 계산기와 마찬가지로 또 상속문제가 나왔다
지난번 계산기때 상속을 받아서 달라지거나 편해진게 뭔지 잘 몰랐는데 키오스크는 반복되는게 많다보니까 언제 써야하는건지 조금 감이 왔다
open class BeefChunkflattailMenu(name:String) {
var name: String = ""
init {
this.name = name
}
open fun detailBeefMenu(order2:Int){
println("${name}은(는) 1인분에 15,000원 입니다")
println("뒤로가기를 원하시면 0번을 입력해주세요")
while(true) {
var order2_1 = readLine()!!.toInt()
if(order2_1 == 0) {
break
} else {
println("뒤로가기는 0을 입력해주셔야합니다")
}
println("다시 입력해주세요")
}
}
}
class BeefOutsideskirtMenu(name: String) : BeefChunkflattailMenu(name) {
override fun detailBeefMenu(order2: Int) {
println("${name}은(는) 1인분에 18,000원 입니다")
println("뒤로가기를 원하시면 0번을 입력해주세요")
while(true) {
var order2_1 = readLine()!!.toInt()
if(order2_1 == 0) {
break
} else {
println("뒤로가기는 0을 입력해주셔야합니다")
}
println("다시 입력해주세요")
}
}
}
class BeefRibMenu(name: String) : BeefChunkflattailMenu(name) {
}
class BeefSirloinMenu(name: String) : BeefChunkflattailMenu(name) {
}
이렇게 상속도 받고 오버라이드로 수정도 하고 해봤다
이름은 계속 바뀌고 가격만 조금 바뀌는거라 상속과 오버라이드가 비교적 쉬웠는데
많은 항목들이 바뀔경우에는 어떻게 해야할지를 잘 모르겠다
예외처리도 첫번째 단계에서 예외처리를 해놨는데 세번째 단계에서 예외상황이 발생하면 첫번째 단계로 돌아가버린다...
우선 조금이라도 빨리 제출해서 튜터님 피드백을 받아봐야겠다