Protocols in swift are the best way to make your swift code
import UIKit
import Foundation
protocol ElectricityEquipment {
var voltage: Int? { get set }
func start()
func stop()
}
protocol WaterElectricityEquipment {
var voltage: Int? { get set }
var waterLevel: Int? {get set}
func start()
func stop()
}
class Microwave: ElectricityEquipment {
var voltage: Int?
init?(_voltage: Int){
guard 50...100 ~= _voltage else{
print("Required valtage is not in the range 50 to 100")
return nil
}
voltage = _voltage
}
func start(){
print("Microwave is started")
}
func stop(){
print("Microwave is stoped")
}
}
class Dishwaser: WaterElectricityEquipment{
var voltage: Int?
var waterLevel: Int?
init?(_voltage: Int, _waterLevel: Int){
guard 200...220 ~= _voltage else{
print("Required valtage is not in the range 200 to 220")
return nil
}
guard 2...5 ~= _waterLevel else{
print("Required waterLevel is not in the range 3 to 5")
return nil
}
voltage = _voltage
waterLevel = _waterLevel
}
func start(){
print("Dishwaser is started")
}
func stop(){
print("Dishwaser is stoped")
}
}
class Kitchen{
var microwave: Microwave?
var dishwaser: Dishwaser?
}
let objKitchen = Kitchen()
objKitchen.microwave = Microwave(_voltage: 200)
objKitchen.microwave?.start()
objKitchen.dishwaser = Dishwaser(_voltage: 240, _waterLevel: 3)
objKitchen.dishwaser?.start()
nice
ReplyDelete