English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Las clases de Swift son un constructor común y flexible utilizado para construir código.
Podemos definir propiedades (constantes, variables) y métodos para las clases.
A diferencia de otros lenguajes de programación, Swift no requiere que crees archivos de interfaz e implementación independientes para clases personalizadas. Lo que debes hacer es definir una clase en un solo archivo, y el sistema generará automáticamente una interfaz orientada a otros códigos.
Swift y clasesEstructurasHay muchos puntos en común. En común:
Definir propiedades para almacenar valores
Definir métodos para proporcionar funcionalidades
Definir subscripts para acceder a valores
Definir constructores para generar valores de inicialización
A través de la extensión para aumentar la funcionalidad por defecto
Cumplir con protocolos para proporcionar funciones estándar para algún tipo
En comparación con las estructuras, las clases tienen las siguientes funciones adicionales:
La herencia permite que una clase herede las características de otra clase
La conversión de tipo permite verificar e interpretar el tipo de un ejemplo de clase en tiempo de ejecución
El destructor permite que un ejemplo de clase libere cualquier recurso asignado
El recuento de referencias permite múltiples referencias a una clase
class nombreClase { Definición 1 Definición 2 …… N Definición }
class student{ var studname: String var mark: Int var mark2: Int }
Ejemplificación de clase:
let studrecord = student()
import Cocoa class MarksStruct { var mark: Int init(mark: Int) { self.mark = mark } } class studentMarks { var mark = 300 } let marks = studentMarks() print("La calificación es \(marks.mark)")
以上程序执行输出结果为:
La calificación es 300
Las propiedades de la clase se pueden acceder . para acceder. El formato es:Ejemplo de nombre de clase.propiedad:
import Cocoa class MarksStruct { var mark: Int init(mark: Int) { self.mark = mark } } class studentMarks { var mark1 = 300 var mark2 = 400 var mark3 = 900 } let marks = studentMarks() print("Mark1 es \(marks.mark1)") print("Mark2 es \(marks.mark2)") print("Mark3 es \(marks.mark3)")
以上程序执行输出结果为:
Mark1 es 300 Mark2 es 400 Mark3 es 900
Dado que las clases son tipos de referencia, es posible que varias constantes y variables hagan referencia simultáneamente a un mismo ejemplo de clase en el fondo.
Para poder determinar si dos constantes o variables hacen referencia al mismo ejemplo de clase, Swift incluye dos operadores de equivalencia:
Operador equivalente | Operador no equivalente |
---|---|
El operador es: === | El operador es: !=== |
Si dos constantes o variables hacen referencia al mismo ejemplo de clase, se devuelve true | Si dos constantes o variables hacen referencia a un ejemplo de clase diferente, se devuelve true |
import Cocoa class SampleClass: \(Equatable) { let myProperty: \(String) init(s: \(String)) { myProperty = s } } func ==(lhs: \(SampleClass), rhs: \(SampleClass)) -> Bool { return lhs.myProperty == rhs.myProperty } let \(spClass1 = SampleClass(s: "Hello") let \(spClass2 = SampleClass(s: "Hello") if \(spClass1 === \(spClass2 {// false print("引用相同的类示例 \(spClass1)") } if \(spClass1 !== \(spClass2 {// true print("引用不相同的类示例 \(spClass2)") }
以上程序执行输出结果为:
引用不相同的类示例 SampleClass