Swift方法

2020-06-26  本文已影响0人  奔跑的鸿
class Person {
    var _name: String = "HaRi"
    var _age: Int = 26
    //如果不希望某个参数作为外部参数使用, 可以在参数前面加上 _ , 忽略外部参数
    func setName(name: String, _ age: Int)
    {
        _name = name
        _age = age
    }
    func show()
    {
        print("name = \(_name) age = \(_age)")
    }
}
var p = Person()
p.show()

// p.setName(name:"xiaoHan", age:100) Error!
p.setName(name: "hjq", 88) //正确姿势
p.show()
class Person {
    var _name:String = "kong"

    // 实例方法
    func sayHello(){
        println("say \(_name)")
    }

    // 类方法
    class func sayHi() {
        println("class method")
    }
}

// 调用 实例方法
var per = Person()
per.sayHello()

// 调用类方法
Person.sayHi()

以上也可以用static声明类方法,static声明的类方法不可被子类重写

     static func sayHi() {
        println("class method")
    }
struct Person4 {
    var name: String = "HanJunqiang"
    static var card: String = "1234567"
    func show()
    {
        print("name = \(name) card = \(Person4.card)")
    }

    static func staticShow()
    {
        //类方法中没有self
        //静态方法对应OC中的+号方法, 和OC一样在类方法中不能访问非静态属性
        print("card = \(Person4.card)")
    }
}

var p4 = Person4()
p4.show()
Person4.staticShow()
上一篇 下一篇

猜你喜欢

热点阅读