一. 引用类型 类
在类中定义方法
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)