Swift

17.Swift学习之类

2018-10-20  本文已影响117人  YungFan

类介绍

定义语法

class 类名  {
    // 定义属性和方法
}
class Person {
    var name = "Zhangsan"
    var age = 10
    var sex = "man"
    func say(){
        print("人会说话")
    }
}

类的实例

var p1 = Person()

访问属性和方法

//普通构造函数
var p1 = Person()
//访问
p1.age
//设置
p1.age = 30
p1.name
p1.sex
p1.say()

类是引用类型

var p2 = p1
p2.name = "Lisi"
p2.age = 20
p2.sex = "woman"
//对p2的修改会影响原来的p1
p1.age
p1.name
p1.sex

特征运算符

//特征运算符
let p3 = Person()
p1 === p2 //true
p1 === p3 //false
p1 !== p3 //true

继承

// 定义一个父类
class Vehicle {
    var currentSpeed = 0.0
    func makeNoise() {
        print("Ba Ba")        
    }
}

// 定义一个子类
class Bicycle: Vehicle {
    var hasBasket = false
}

// 定义一个子类
class Car: Vehicle {
    var banner = "皖B12345"
}

var vehicle = Vehicle()
vehicle.makeNoise()
let bicycle = Bicycle()
bicycle.makeNoise()
var car = Car()
car.makeNoise()

重写(覆写)

class Car: Vehicle {
    var banner = "皖B12345"  
    override func makeNoise() {
        print("Di Di")
    }
}
var car = Car()
car.makeNoise()
class Vehicle {
    var currentSpeed = 0.0
    func makeNoise() {
        print("Ba Ba")
    }   
    //不能被子类重写
    final func run() {
        print("Run Run")
    }
}

类与结构体的对比

开发中类与结构体的使用场景

上一篇下一篇

猜你喜欢

热点阅读