English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Clases de Swift

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.

Comparación de clases y estructuras

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

Sintaxis:

class nombreClase {
   Definición 1
   Definición 2
   ……
   N Definición
}

Definición de clase

class student{
   var studname: String
   var mark: Int 
   var mark2: Int 
}

Ejemplificación de clase:

let studrecord = student()

Ejemplo en línea

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

como tipo de referencia a las propiedades de la clase

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

Operador equivalente

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 equivalenteOperador no equivalente
El operador es: ===El operador es: !===
Si dos constantes o variables hacen referencia al mismo ejemplo de clase, se devuelve trueSi dos constantes o variables hacen referencia a un ejemplo de clase diferente, se devuelve true

Ejemplo en línea

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