Slide 1

Slide 1 text

ܧঝ MOBILE PROGRAMMING 26TH NOV

Slide 2

Slide 2 text

1. ܧঝʹ͍ͭ ͯ

Slide 3

Slide 3 text

ςΩετ ܧঝͬͯʁ ▸ Ϋϥε͕࣋ͭػೳͷҰͭ ▸ ਌͕࣋ͭϓϩύςΟ΍ϝιουΛड͚ܧ͙ ▸ ܧঝݩͷΫϥεΛ਌Ϋϥε(super class) ▸ ܧঝઌͷΫϥεΛࢠΫϥε(sub class)ͱ͍͏ ▸ จ๏͸ class SubClass: Super Class { ... } ▸ swift Ͱ͸࢖͏৔ॴ͸ݶΒΕΔ ▸ جຊతʹ͸ϙϦϞʔϑΟζϜ(ଟଶੑ)ͷͨΊʹ࢖ΘΕΔ

Slide 4

Slide 4 text

ςΩετ ࣮ࡍͷίʔυ class Pokemon { let name: String var ability: String var level: Int = 0 init(name: String, level: Int, ability: String = "͍ͨ͋ͨΓ") { self.name = name self.level = level self.ability = ability } func displayStatus() { print("\(self.name)ͷϨϕϧ͸\(self.level)Ͱ͢ɻ") } func doAbility(to pokemon: Pokemon) { print("\(self.name)͸\(pokemon.name)ʹ\(self.ability)ͨ͠ʂ") } } class Metagross: Pokemon { init(level: Int) { super.init(name: "ϝλάϩε", level: level, ability: "ίϝοτύϯν") } }

Slide 5

Slide 5 text

2. ਌Ϋϥεͱ ࢠΫϥε

Slide 6

Slide 6 text

ςΩετ ਌ΫϥεͱࢠΫϥε ▸ جຊతʹࢠΫϥε͔Β਌ΫϥεͷϓϩύςΟ΍ϝιου͸શͯΞΫ ηεՄೳ ▸ ͦͷࡍ͸self ͷ୅ΘΓʹsuperΛ࢖͏ ▸ ࢠΫϥεͰ͸਌ΫϥεͷϝιουΛॻ͖׵͑Δ͜ͱ͕Ͱ͖Δ ▸ ͜ΕΛϝιουͷΦʔόʔϥΠυͱݴ͏ ▸ ࢠΫϥεʹ͸৽͘͠ϝιου΍ϓϩύςΟΛఆٛ͢Δ͜ͱ͕Ͱ͖Δ ▸ ࢠΫϥε͸਌Ϋϥεͷܕ΋Ҿ͖ܧ͙

Slide 7

Slide 7 text

ςΩετ ࣮ࡍͷίʔυ class Pokemon { let name: String // pokemon's name (ex pikachu) fileprivate(set) var level: Int // pokemon's level fileprivate(set) var health: Int = 1 // pokemon's hit point init(name: String, level: Int) { self.name = name self.level = level self.health = level * 2 } func displayStatus() { print("Name: \(self.name)") print("Lv: \(self.level)") print("HP: \(self.health)") } func doAbility() { print("\(self.name)ͷ͍ͨ͋ͨΓʂ") } } class Slowpoke: Pokemon { init(level: Int) { // ਌ΫϥεͷϝιουΛݺͼग़͢ super.init(name: "Ϡυϯ", level: level) } // ਌Ϋϥεʹఆٛ͞Ε͍ͯΔϝιουΛॻ͖׵͑Δ override func doAbility() { print("\(self.name)ͷͶΜΓ͖ʂ") } } let slowpoke: Pokemon = Slowpoke(level: 10)
 
 slowpoke.displayStatus() slowpoke.doAbility() // ϠυϯͷͶΜΓ͖ʂͱදࣔ͞ΕΔ(͍ͨ͋ͨΓͰ͸ͳ͍)