Swift プログラミング

【YouTube学習】たけむらしんいちさんのコード解釈Ⅲ#7

こんにちわ、Matsuki Blog運営者のマツキです。

SwiftのYouTube動画学習、たけむらしんいちさんのチャンネルで少しコードの解釈が要るかなと思ったのでメモ書きです。

解釈した部分は「暗黙の引数」の箇所ですね。

コメントの形で補足しています。

 

 


//🌟IDというデータを設定

class ID{
//プロパティ設定
var id:Int = 0
//メソッドの設定
func getID() -> Int{
  id += 1
  return id
  }
}

//🌟Userというデータを設定

class User{
    //プロパティの設定
    let id:Int
    var name:String{
        willSet{print("info:氏名が変更されようとしています。\(name)")}
        didSet{
        print("info:氏名が変更されました。\(name)")
        //変更したらカウントアップ
        count += 1      
        }
    }
    //変更回数をカウントしたいための変数を準備
    var count:Int
    
    //イニシャライザでプロパティの初期値を設定
      //引数を二つ準備した「id」「name」 
        //引数idの「型」を「クラスID」を入れるとした
        //引数nameに対しては文字列型を入れるとした
    init(id:ID,name:String){
    //️自分自身のプロパティid に クラスID型として代入される引数idを左辺に使用
    //┗その上で、IDのクラスメソッド.getIDを左辺として設置
        self.id = id.getID()
    //自分自身のプロパティ に 引数name を初期値として代入する
        self.name = name
    //自分自身のプロパティ に 単純に 0 を初期値として代入する
        self.count = 0
    }
    
    //メソッドの設定
    func info(){
        var str = "ID:\(self.id)\n"
        str += "氏名:\(self.name)\n"
        str += "変更回数:\(self.count)"
        print(str)
    }
}

//定数id、クラスIDのインスタンスを準備。定数idにそのインスタンスを代入
let id = ID()
//変数userと、クラスUserのインスタンスを準備。変数userにクラスUserインスタンス代入。
//クラスUserインスタンスのプロパティの引数として上で用意した定数id,即ちIDのインスタンスを代入
//イニシャライザ内の引数idの方をクラスIDと設定しており、これで矛盾しない。
var user = User(id:id,name:"Yamada")

//クラスメソッド使用
user.info()
user.name = "Suzuki"

スポンサーリンク

-Swift, プログラミング

© 2024 Matsuki Blog Powered by AFFINGER5