返回

全面理解Swift中的枚举、结构体和类:掌握基础

IOS

枚举:

枚举是一种强大的工具,用于表示一组有限且已知的相关值。在Swift中,可以使用enum声明枚举,后跟枚举名称和大括号,其中包含枚举值。枚举值是类型安全的,这意味着它们只能是枚举类型本身定义的值。枚举还支持关联值,允许您将数据与枚举值关联起来。

代码示例:

enum CompassPoint: String {
    case north, south, east, west
}

let direction = CompassPoint.north
print(direction.rawValue) // 输出: "north"

结构体:

结构体是用于存储和组织相关数据的轻量级值类型。它们类似于类,但没有继承或多态性。结构体使用struct关键字声明,后跟结构体名称和大括号,其中包含属性。属性是结构体内存储数据的变量。结构体可以有实例方法,但不能有类方法或属性。

代码示例:

struct Person {
    var name: String
    var age: Int

    func sayHello() {
        print("Hello, my name is \(name) and I am \(age) years old.")
    }
}

let person = Person(name: "John", age: 30)
person.sayHello() // 输出: "Hello, my name is John and I am 30 years old."

类:

类是面向对象编程的基础。它们是用于创建对象的蓝图,对象是类的一个实例。类使用class关键字声明,后跟类名称和大括号,其中包含属性、方法和初始化器。类可以继承自其他类,并具有方法重写和多态性等高级特性。

代码示例:

class Vehicle {
    var make: String
    var model: String
    var year: Int

    init(make: String, model: String, year: Int) {
        self.make = make
        self.model = model
        self.year = year
    }

    func drive() {
        print("Driving \(make) \(model) \(year).")
    }
}

let car = Vehicle(make: "Toyota", model: "Camry", year: 2020)
car.drive() // 输出: "Driving Toyota Camry 2020."

创建一个新类,继承自已有类的类:

为了在一个已有类的基础上创建一个新的类,可以使用Swift中的继承。继承允许新类(子类)继承父类的属性、方法和初始化器。要创建子类,请使用class关键字,后跟子类名称和冒号,然后指定父类名称。

代码示例:

class SportsCar: Vehicle {
    var topSpeed: Int

    init(make: String, model: String, year: Int, topSpeed: Int) {
        super.init(make: make, model: model, year: year)
        self.topSpeed = topSpeed
    }

    override func drive() {
        super.drive()
        print("Top speed: \(topSpeed) mph.")
    }
}

let sportsCar = SportsCar(make: "Ferrari", model: "488 GTB", year: 2023, topSpeed: 205)
sportsCar.drive()

输出:

Driving Ferrari 488 GTB 2023.
Top speed: 205 mph.

通过使用枚举、结构体和类,您可以创建健壮、可扩展且高效的Swift应用程序。这些概念是Swift编程的基础,掌握它们至关重要。