iT邦幫忙

2023 iThome 鐵人賽

DAY 8
0
Mobile Development

swift 30天之旅系列 第 8

第八天:Swift 類別和結構

  • 分享至 

  • xImage
  •  

在過去的課程中,我們已經學到了Swift的一些基礎知識。今天,我們將探討Swift的核心組件之一:類別和結構。這些是Object-Oriented Programming(OOP,面向對象編程)中的基礎。

類別vs結構

Swift提供了類別(Class)和結構(Struct)兩種方式來定義我們的資料模型。雖然他們在外觀上看起來相似,但在功能上有些關鍵的差異。

相似點:

  1. 定義屬性用於存儲值
  2. 定義方法用於提供功能
  3. 定義下標腳本用於訪問值
  4. 定義初始化器用於設置初始化值
  5. 可以被擴展以擴展其功能

主要差異:

  1. 繼承:類別可以繼承另一個類別的特性,結構則不能。
  2. 類型轉換:類別可以使用類型轉換來實施在運行時檢查和解釋類別實例的類型。
  3. 解構過程:類別可以使用解構器,允許實例釋放任何由它所分配的資源。
  4. 參考計數:類別允許多個參考同一個實例。

屬性和方法

無論是類別還是結構,它們都可以包含屬性(存儲值)和方法(執行操作)。以下是如何在Swift中定義和使用它們的概述。

屬性

屬性儲存關於特定事物的資訊或描述。它們可以是儲存屬性,也可以是計算屬性。

class Car {
    var color: String = "Red"   // 儲存屬性
    var speed: Int = 0          // 儲存屬性
    
    var description: String {   // 計算屬性
        return "This is a \(color) car moving at \(speed) km/h."
    }
}

方法

方法是與某一特定事物相關的函數。它們描述該事物可以做什麼。

struct Rectangle {
    var width: Int
    var height: Int
    
    func area() -> Int {
        return width * height
    }
}

使用類別和結構

當我們創建類別和結構的新實例時,他們的屬性和方法都是可用的。

let car = Car()
print(car.description)

let rectangle = Rectangle(width: 10, height: 20)
print(rectangle.area())

小結:

今天,我們探討了Swift中的類別和結構,以及它們如何在面向對象中起到作用。透過學習他們的屬性和方法,你現在可以開始定義和操作自己的數據模型。


上一篇
第七天:Swift 陣列和字典
下一篇
第九天:Swift 繼承和多態性
系列文
swift 30天之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言