この記事を読んでわかること

  • 引数のデータ型が異なるが、名前が同じメソッドを実行した場合に、どのメソッドが実行されるか?

確認

AnimalクラスとDogクラスがある。
DogクラスはAnimalクラスを継承している。

import Foundation

class Animal{
    let name:String
    init(name:String){
        self.name = name
    }
}

class Dog:Animal{
    var kind = ""
}

下記2つのメソッドを用意した。

// ①
func printClassName(animal: Animal){
    print("Animal Class")
}

// ②
func printClassName(animal: Dog){
    print("Dog Class")
}

引数にDogクラスのオブジェクトを指定した場合、どちらのメソッドが実行されるか?

②の引数にDogクラスを指定するメソッドが実行された。
f:id:fjswkun:20161010113451p:plain

上記のような場合、より具体的なクラス(ここではDogクラス)のメソッドが実行されるようだ。


参考情報

Swift

① iOSアプリ開発未経験の人向け
・Swift初心者の人に評判が良いようですね

本気ではじめるiPhoneアプリ作り Xcode 7.x+Swift 2.x対応 黒帯エンジニアがしっかり教える基本テクニック (ヤフー黒帯シリーズ)

本気ではじめるiPhoneアプリ作り Xcode 7.x+Swift 2.x対応 黒帯エンジニアがしっかり教える基本テクニック (ヤフー黒帯シリーズ)

  • 作者: 西磨翁
  • 出版社/メーカー: SBクリエイティブ
  • 発売日: 2016/02/27
  • メディア: Kindle版
  • この商品を含むブログを見る


・わかりやすくていい、と聞いた本
立ち読みした感じだと【アプリ作成未経験の人向け】

絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】

絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】

  • 作者: 高橋京介
  • 出版社/メーカー: SBクリエイティブ
  • 発売日: 2014/12/20
  • メディア: 大型本
  • この商品を含むブログ (3件) を見る


②を終えたくらいの知識の方向け
・アプリ開発独学中に2冊めに購入した書籍
プログラミング知識はなくても、若干理解するのに時間がかかる程度で、
読み進められるわかりやすさがある。

iPhoneアプリ開発塾

iPhoneアプリ開発塾

  • 作者: カワサキタカシ
  • 出版社/メーカー: 技術評論社
  • 発売日: 2012/06/08
  • メディア: 大型本
  • 購入: 5人 クリック: 214回
  • この商品を含むブログ (5件) を見る


③中級者、上級者向け

詳解 Swift

詳解 Swift

  • 作者: 荻原剛志
  • 出版社/メーカー: SBクリエイティブ
  • 発売日: 2014/12/10
  • メディア: 大型本
  • この商品を含むブログ (2件) を見る
詳解 Swift 改訂版

詳解 Swift 改訂版

  • 作者: 荻原剛志
  • 出版社/メーカー: SBクリエイティブ
  • 発売日: 2015/12/25
  • メディア: 単行本
  • この商品を含むブログ (1件) を見る