計算機考題
使用繼承與多型來取代 if else,練習OOP的概念。

if else 的寫法
func execute(input: String){
if input == "A"{
// 做A事情
} else if input == "B"{
// 做B事情
}
}
繼承與多型的寫法
class Base{
func doSomething(){}
}
class A: Base{
override func doSomething(){
// 做A事情
}
}
class B: Base{
override func doSomething(){
// 做B事情
}
}
func execute(base: Base){
base.doSomething()
}
計算機考題:
請不要使用if else來實作簡單的計算機
先實作簡單輸入(ex. 1+2=3)
先不考慮先乘除後加減的案例
考慮多位數輸入(ex. 12+35=47)
考慮連續輸入(ex. 1+2+3+4=10)
考慮取代輸入(ex. 先輸入1+,再輸入-,變成1-)
延伸議題:
先乘除後加減需要兩步驟 - 參考資料Link
計算式把中序轉後序
把後序的運算符號放入Stack裡計算即可
Last updated
Was this helpful?