m_shige1979のときどきITブログ

プログラムの勉強をしながら学習したことや経験したことをぼそぼそと書いていきます

Github(変なおっさんの顔でるので気をつけてね)

https://github.com/mshige1979

swiftの学習(クラスのプロパティ)

セッター、ゲッターに別の書き方があった

あまり、setter、getterは使わないからついあんな感じで作ったけど別の方法があったらしい

サンプル

Car.swift
//
//  Car.swift
//
import Foundation

// class定義
class Car{
    
    // getter setter
    var _name:String = ""
    var name:String{
        get{
            return _name
        }
        set(newValue){
            _name = newValue
        }
    }
    
    // getter setter
    var _age:Int = 0
    var age:Int{
        get{
            return _age
        }
        set(newValue){
            _age = newValue
        }
    }
    
    // 初期化
    init(){
        println("Car 初期化")
    }
    
    // メソッド
    func test1(){
        println("test1 method")
    }
    
}

※定義した時にすぐ制御を行うことらしい

Bus.swift

前回と同じなんで割愛

main.swift
//
//  main.swift
//

import Foundation

// class初期化
var _a = Car()

// メソッド実行
_a.test1()

// setter
_a.age = 20
_a.name = "あああ"

// getter println
println(_a.age)
println(_a.name)

// 継承
var _b = Bus()

_b.test1()
_b.test2()

// setter
_b.age = 33
_b.name = "いいい"

// getter println
println(_b.age)
println(_b.name)

※Car.swiftで定義したname、ageに設定、参照が可能になった

xcodeはロジックの間違いがあったらすぐに指摘してくれるので助かりますm(__)m

所感

15分でまとめて書いているから時間がない…
自分の知識が疎いのでまだあまり理解できていないよう。最近は健康に気を使うようになったのであまり夜遅くまで起きれないので慎重にならないといけないが、やりたいことには選んで時間をうまく使う必要があるよう

補足
javaとかのインターフェースはプロトコルとかいう機能で使えるらしい(←同じにしないのは何故???)