swift -- 类中的方法

一. 引用类型  类

在类中定义方法

class Person {

    //属性

    var name : String = ""

    //方法

    //实例方法 : 在类里面创建一个方法

    func eat (a : Int) -> Void {

        print(a)

    }

    //方法的局部参数名称和外部参数名称

    //默认参数名

    func eat2 (a : Int , b : Int) ->Void {

        print(a , b)

    }

    //指定外部参数名

    func eat3 (name a : Int , age b : Int) ->Void {

        print(a,b)

    }

    //忽略外部参数名(下划线)

    func eat4 (a : Int , _ b : Int) ->Void {

        print(a,b)

    }

    

    //self在类里面可以认为是一个 类的实例对象

    //a.可以调用方法      self.eat(2)

  

    //b.使用self区分类的属性和方法里面的参数名称

    func run(name : String) -> Void{

        self.name = name

        print(name)

    }

//类方法

    class func drink(b : Int) -> Void{

        print(b)

    }

}

//实例方法的调用:

var person1 = Person.init()

person1.eat(999) //调用

person1.eat2(2, b: 8)

person1.eat3(name: 2, age: 8)   //外部参数

person1.eat4(2, 8)

二.值类型

//实例方法中修改属性

struct Point {

    var age : Int = 10

    //声明方法  关键字 才可以修改属性

    mutating func setAge(a : Int) -> Void {

                self.age = 18

          print(a)

    }

  //在可变方法中给 self 赋值

    mutating func setBody() ->Void{

        self = Point.init(age: 1999)  //修改属性

    }

   //类方法  用static 或class标注方法,就是 类方法

    static func sleep(a : Int) -> Void{

        print(a)

    }

}

//值类型调用方法

var point1 = Point.init()

point1.setAge(666)

point1.setBody()

print(point1.age)

//调用类方法

Point.sleep(111)

原文地址:https://www.cnblogs.com/daxueshan/p/5585264.html