SwiftHTML & CSSSolidityDesenvolvimento de JogosSolana/Rust
14.11.2024

Lição: 21: Métodos (Métodos de Instância e Métodos de Tipo)

Em Swift, métodos são funções que estão associadas a um tipo específico. Existem dois tipos principais de métodos: métodos de instância e métodos de tipo. Nesta aula, vamos explorar ambos em detalhes, com exemplos que esclarecem seu uso.

Métodos de Instância

Métodos de instância são funções que pertencem a uma instância de um tipo. Você pode chamar esses métodos em uma instância de uma classe, estrutura ou enumeração.

Definindo Métodos de Instância

Para definir um método de instância, utilize a palavra-chave func dentro da definição do tipo. Aqui está um exemplo usando uma estrutura Retangulo:

struct Retangulo {
    var largura: Double
    var altura: Double

    // Método de instância para calcular a área
    func area() -> Double {
        return largura * altura
    }

    // Método de instância para calcular o perímetro
    func perimetro() -> Double {
        return 2 * (largura + altura)
    }
}

Usando Métodos de Instância

Agora, vamos criar uma instância de Retangulo e chamar seus métodos:

let retangulo = Retangulo(largura: 10.0, altura: 5.0)
print("Área: \(retangulo.area())")          // Saída: Área: 50.0
print("Perímetro: \(retangulo.perimetro())") // Saída: Perímetro: 30.0

Métodos de Tipo

Métodos de tipo são métodos que são chamados no próprio tipo, em vez de em instâncias do tipo. Em Swift, você pode definir métodos de tipo usando a palavra-chave static para estruturas e enumerações, e a palavra-chave class para classes.

Definindo Métodos de Tipo

Aqui está um exemplo que demonstra o uso de métodos de tipo em uma classe Circulo:

class Circulo {
    var raio: Double

    init(raio: Double) {
        self.raio = raio
    }

    // Método de instância para calcular a área
    func area() -> Double {
        return Double.pi * raio * raio
    }

    // Método de tipo para criar um Círculo com raio unitário
    static func circuloUnitario() -> Circulo {
        return Circulo(raio: 1.0)
    }
}

Usando Métodos de Tipo

Você pode chamar o método de tipo diretamente usando o nome do tipo:

let circuloUnitario = Circulo.circuloUnitario()
print("Área do Círculo Unitário: \(circuloUnitario.area())") // Saída: Área do Círculo Unitário: 3.141592653589793

Resumo

Nesta aula, aprendemos sobre métodos de instância e métodos de tipo em Swift:

  • Métodos de Instância: Funções que operam em instâncias de um tipo. Eles podem acessar propriedades de instância e outros métodos de instância.
  • Métodos de Tipo: Funções que operam no próprio tipo. São definidos com as palavras-chave static ou class e são chamados no tipo em vez de em uma instância.

Compreender esses dois tipos de métodos é fundamental para organizar seu código e aproveitar os recursos do Swift. Experimente criar suas próprias estruturas e classes e implemente tanto métodos de instância quanto métodos de tipo para se familiarizar com o conceito!

Video

Did you like this article? Rate it from 1 to 5:

Thank you for voting!