1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
| class Animal { var brain = true var legs: Int init(legs: Int) { self.legs = legs } }
class Human: Animal { override init(legs: Int) { super.init(legs: legs) } }
class Pet: Animal { var fleas: Int init(fleas: Int) { self.fleas = fleas super.init(legs: 4) } }
class Dog: Pet { override init(fleas: Int) { super.init(fleas: fleas) } }
class Cat: Pet { override init(fleas: Int) { super.init(fleas: fleas) } }
let animal = Animal(legs: 0) animal.brain
animal.legs
let human = Human(legs: 2) human.brain
human.legs
let pet = Pet(fleas: 0) pet.brain
pet.legs
pet.fleas
let dog = Dog(fleas: 8) dog.brain
dog.legs
dog.fleas
let cat = Cat(fleas: 4) cat.brain
cat.legs
cat.fleas
|