protocol Animal{ | |
var isIdle : Bool? {get set} | |
func run() | |
func stop() | |
} | |
protocol Eye{ | |
func closeEyesAndSleep() | |
func openEyesAndLookAround() | |
} | |
class Cat : Eye{ | |
var isIdle: Bool? = true | |
func closeEyesAndSleep() { | |
if isIdle == true{ | |
print("Cat is sleeping now") | |
}else{ | |
print("Cat will NOT sleeping now") | |
} | |
} | |
func openEyesAndLookAround() { | |
print("Cat is looking around") | |
} | |
} | |
extension Cat : Animal{ | |
func run() { | |
isIdle = true | |
print("Cat is running now") | |
} | |
func stop() { | |
isIdle = false | |
print("Cat has stopped now") | |
} | |
} | |
class Dog : Animal{ | |
var isIdle: Bool? = true | |
func run() { | |
print("Dog is running now") | |
} | |
func stop() { | |
print("Dog has stopped now") | |
} | |
} | |
let whiteCat = Cat() | |
let blackCat = Cat() | |
let pinkCat = Cat() | |
let blackDog = Dog() | |
let yellowDog = Dog() | |
var animalsArray : [Animal] = [whiteCat, blackCat, pinkCat, blackCat, yellowDog] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment