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+ 浏览量

启动您的职业生涯

完成课程获得认证

开始学习
广告