상세 컨텐츠

본문 제목

상속과 예외처리

카테고리 없음

by 뽀사장 2024. 3. 14. 20:58

본문

728x90
반응형

키오스크 과제를 풀면서 계산기와 마찬가지로 또 상속문제가 나왔다

지난번 계산기때 상속을 받아서 달라지거나 편해진게 뭔지 잘 몰랐는데 키오스크는 반복되는게 많다보니까 언제 써야하는건지 조금 감이 왔다

 

 

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) {

}

 

 

이렇게 상속도 받고 오버라이드로 수정도 하고 해봤다

이름은 계속 바뀌고 가격만 조금 바뀌는거라 상속과 오버라이드가 비교적 쉬웠는데 

많은 항목들이 바뀔경우에는 어떻게 해야할지를 잘 모르겠다

 

예외처리도 첫번째 단계에서 예외처리를 해놨는데 세번째 단계에서 예외상황이 발생하면 첫번째 단계로 돌아가버린다...

우선 조금이라도 빨리 제출해서 튜터님 피드백을 받아봐야겠다

 

 

 

728x90
반응형