Swift程式:演示類中static關鍵字的用法


在Swift中,`static`關鍵字用於定義或建立型別級別的屬性和方法,這些屬性和方法只屬於類本身,而不是屬於類的例項。或者可以說,我們可以直接使用類本身來訪問類的靜態屬性和方法,而無需建立類的例項。

演算法

  • 步驟1 − 建立一個類。

  • 步驟2 − 在類中使用`static`關鍵字定義靜態屬性和例項屬性。

  • 步驟3 − 同樣,使用`static`關鍵字定義靜態方法和例項方法。

  • 步驟4 − 在類外部,使用類名訪問靜態屬性和方法 −

// Accessing property
NewClass.myVariable

// Calling a static function
NewClass.mynewFunc()
  • 步驟5 − 要訪問例項屬性和方法,請建立類的例項,然後使用物件訪問它們。

// Creating an instance of NewClass
let obj = NewClass()

// Accessing an instance variable
print(obj.myVar)

// Calling an instance function
obj.myFunc()
  • 步驟6 − 列印輸出。

示例

在下面的Swift示例中,我們將首先建立一個名為`NewClass`的類。在類中,我們將定義一個名為`myVariable`的靜態變數,可以在不建立例項的情況下訪問它。我們還定義了一個名為`mynewFunc()`的靜態方法,也可以使用類名(無需例項)呼叫它。除了靜態變數和方法之外,我們還在`NewClass`中定義了例項變數和方法。它們只能在`NewClass`的例項的幫助下訪問。

import Foundation
import Glibc

class NewClass {
   static var myVariable = "Hello, I am static variable"
   var myVar = 50
    
   static func mynewFunc() {
      print("Hello, I am static function")
   }
    
   func myFunc() {
      print("Hello, I am instance function.")
   }
}

// Accessing static variable
print(NewClass.myVariable)

// Calling a static function
NewClass.mynewFunc() 

// Creating an instance of NewClass
let obj = NewClass()

// Accessing an instance variable
print(obj.myVar)

// Calling an instance function
obj.myFunc()

輸出

Hello, I am static variable
Hello, I am static function
50
Hello, I am instance function.

結論

這就是我們在類中使用`static`關鍵字的方法。在使用`static`關鍵字時,請始終記住,不能從靜態上下文中訪問例項成員,反之亦然,因為靜態成員僅與類本身相關聯,而例項成員與類的單個例項相關聯。如果嘗試從靜態上下文中訪問例項成員,將會得到錯誤。

更新於:2023年4月24日

1K+ 瀏覽量

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告