読者です 読者をやめる 読者になる 読者になる

Swift,Objective-Cプログラミング ~ iOS ~

Objective-C,Swift,Apple Watchなどのプログラミング

【iOS Swift入門 #284】引数のデータ型が異なるが、名前が同じメソッドを実行した場合に、どのメソッドが実行されるか?

iOS Swift Swift基本文法 プログラミング

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

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

確認

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アプリ開発「超」入門【Swift & iOS8.1以降 完全対応】

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


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

iPhoneアプリ開発塾

iPhoneアプリ開発塾


③中級者、上級者向け

詳解 Swift

詳解 Swift

詳解 Swift 改訂版

詳解 Swift 改訂版