clase Swift
clase Swift es el código utilizado para construir una estructura general y flexible.
Podemos definir las propiedades (constantes, variables) y métodos para la clase.
Y otros lenguajes de programación son diferentes, Swift no le requiere para crear clases personalizadas a los archivos de interfaz y de aplicación única. Que tiene que hacer es definir una clase en un solo archivo, el sistema generará automáticamente el código para otras interfaces externas.
tipo de cuerpo y la estructura de comparación
Swift clases y estructuras tienen mucho en común. Común es que:
- atributos definidos que se utilizan para almacenar valores
- Define un método para proporcionar funcionalidad
- guión definido se utiliza para acceder al valor de la filial
- Definir el constructor se utiliza para generar valor de inicialización
- Al extender las funciones implementadas con el fin de aumentar el valor por defecto
- De conformidad con el acuerdo de proporcionar ciertas funciones estándar
En comparación con la estructura, clase tiene las siguientes características adicionales:
- La herencia permite a una clase hereda de otra clase de entidad
- Conversión de tipo permite la comprobación de tipos en tiempo de ejecución y la interpretación de una instancia de clase
- Deconstrucción permite una instancia de clase que libere a todos los recursos que asigna
- El conteo de referencias permite múltiples referencias a una clase
sintaxis:
Class classname { Definition 1 Definition 2 …… Definition N }
definición de clase
class student{ var studname: String var mark: Int var mark2: Int }
Instancia de la clase:
let studrecord = student()
Ejemplos
import Cocoa class MarksStruct { var mark: Int init(mark: Int) { self.mark = mark } } class studentMarks { var mark = 300 } let marks = studentMarks() print("成绩为 \(marks.mark)")
La salida por encima de la ejecución del programa es:
成绩为 300
Como atributo de los tipos de referencia Clase
Atributos de la clase se puede accedera través.El formato es:instantiate nombre de la clase nombre de la 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 is \(marks.mark1)") print("Mark2 is \(marks.mark2)") print("Mark3 is \(marks.mark3)")
La salida por encima de la ejecución del programa es:
Mark1 is 300 Mark2 is 400 Mark3 is 900
operador de identidad
Debido a que las clases son los tipos de referencia, puede haber una pluralidad de constantes y variables al mismo tiempo una referencia a una instancia de clase en el fondo.
Con el fin de determinar si la dos constantes o variables se refieren a la misma instancia de clase, Swift construyó dos operadores idénticos:
operador de identidad | operador no idéntico |
---|---|
Los operadores son: === | Los operadores son :! == |
Si las dos constantes o variables hacen referencia a la misma instancia de un retorno de la clase verdadera | Si dos constantes o variables diferentes referencias una instancia de clase devuelve verdadero |
Ejemplos
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)") }
La salida por encima de la ejecución del programa es:
引用不相同的类实例 SampleClass