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

Classe Swift

Classe Swift é um construtor geral e flexível usado para construir código.

Podemos definir atributos (constantes, variáveis) e métodos para classes.

Diferente de outros idiomas de programação, o Swift não requer que você crie arquivos de interface e implementação separados para classes personalizadas. O que você faz é definir uma classe em um único arquivo e o sistema gerará automaticamente a interface externa para outro código.

Comparação de classe e estrutura

Classe e struct no SwiftEstruturaHá muitos pontos em comum. Em comum está:

  • Definição de propriedades para armazenar valores

  • Definição de métodos para fornecer funcionalidades

  • Definição de scripts acessórios para acessar valores

  • Definição de construtores para gerar valores de inicialização

  • Por meio de extensões para adicionar implementações padrão

  • Conformidade com protocolos para fornecer funcionalidades padrão para uma classe

Em comparação com as estruturas, as classes têm as seguintes funcionalidades adicionais:

  • A herança permite que uma classe herde características de outra classe

  • A conversão de tipo permite verificar e explicar o tipo de um exemplo de classe no tempo de execução

  • O destrutor permite que um exemplo de classe libere qualquer recurso alocado

  • O contagem de referência permite várias referências a uma classe

Sintaxe:

class classname {
   Definição 1
   Definição 2
   ……
   N Definição
}

Definição da classe

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

Exemplificação da classe:

let studrecord = student()

Exemplo online

import Cocoa
class MarksStruct {
    var mark: Int
    init(mark: Int) {
        self.mark = mark
    }
}
class studentMarks {
    var mark = 300
}
let marks = studentMarks()
print("As notas são (marks.mark)")

O resultado de execução do programa acima é:

As notas são 300

como tipos de referência

Os atributos da classe podem ser acessados . para acessar. O formato é:Nome da classe exemplificada. Nome do atributo:

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 é (marks.mark1)")
print("Mark2 é (marks.mark2)")
print("Mark3 é (marks.mark3)")

O resultado de execução do programa acima é:

Mark1 é 300
Mark2 é 400
Mark3 é 900

Operador de equivalência

Como as classes são tipos de referência, pode haver várias constantes e variáveis que referem simultaneamente o mesmo exemplo de classe no plano de fundo.

Para poder determinar se duas constantes ou variáveis referem-se ao mesmo exemplo de classe, o Swift tem dois operadores de equivalência incorporados:

Operador de equivalênciaOperador de não equivalência
O operador é: ===O operador é: !===
Se duas constantes ou variáveis referem-se ao mesmo exemplo de classe, retorna trueSe duas constantes ou variáveis referem-se a diferentes exemplos de uma classe, retorna true

Exemplo online

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("Exemplo de Classes com Referências Iguais \(spClass1)")
}
if spClass1 !== spClass2 {// true
    print("Exemplo de Classes com Referências Diferentes \(spClass2)")
}

O resultado de execução do programa acima é:

Exemplo de Classes com Referências Diferentes SampleClass