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`关键字时,请始终记住,不能从静态上下文中访问实例成员,反之亦然,因为静态成员仅与类本身相关联,而实例成员与类的单个实例相关联。如果尝试从静态上下文中访问实例成员,将会得到错误。
广告