classe Swift
classe Swift é o código usado para construir uma estrutura geral e flexível.
Podemos definir as propriedades (constantes, variáveis) e métodos para a classe.
E outras linguagens de programação são diferentes, não Swift não exigem a criação de classes personalizadas para arquivos de interface e implementação separados. Você tem que fazer é definir uma classe em um único arquivo, o sistema irá gerar automaticamente o código para outras interfaces externas.
tipo de corpo e comparação da estrutura
classes e Swift estruturas têm muito em comum. Comum é que:
- atributos definidos utilizados para armazenar valores
- Define um método para proporcionar funcionalidade
- script definido é usado para acessar o valor da subsidiária
- Definir o construtor é usado para gerar valor de inicialização
- Ao estender as funções implementadas a fim de aumentar o padrão
- Em conformidade com o acordo para fornecer certas funções padrão
Comparado com a estrutura, classe tem as seguintes características adicionais:
- Herança permite que uma classe herda de outra característica de classe
- conversão de tipo permite que tipo de tempo de execução verificação e interpretação de uma instância de classe
- Desconstrução permite que uma instância de classe para liberar quaisquer recursos alocados lo
- Contagem de referência permite que várias referências a uma classe
sintaxe:
Class classname { Definition 1 Definition 2 …… Definition N }
definição de classe
class student{ var studname: String var mark: Int var mark2: Int }
Instanciar a classe:
let studrecord = student()
Exemplos
import Cocoa class MarksStruct { var mark: Int init(mark: Int) { self.mark = mark } } class studentMarks { var mark = 300 } let marks = studentMarks() print("成绩为 \(marks.mark)")
A saída de execução de programa acima é:
成绩为 300
Como atributo tipos de referência Classe
Atributos da classe podem ser acessadosatravés.O formato é:instanciar nome da propriedade nome da classe:
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)")
A saída de execução de programa acima é:
Mark1 is 300 Mark2 is 400 Mark3 is 900
operador de identidade
Como as classes são tipos de referência, pode haver uma pluralidade de constantes e variáveis, ao mesmo tempo, uma referência a uma classe exemplo no fundo.
A fim de determinar se a duas constantes ou variáveis se referem à mesma instância de classe, Swift construiu dois operadores idênticos:
operador de identidade | operador nonidentical |
---|---|
Operadores são: === | Os operadores são :! == |
Se as duas constantes ou variáveis referência a mesma instância de um retorno classe verdadeira | Se duas constante ou variável referências diferentes uma instância de classe retorna true |
Exemplos
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)") }
A saída de execução de programa acima é:
引用不相同的类实例 SampleClass