Lição 18: Estruturas: Propriedades e Métodos
Em Swift, as estruturas são uma maneira versátil de criar tipos de dados que podem encapsular propriedades e métodos. Estruturas são tipos por valor, significa que, quando atribuídas a uma variável ou constante, ou passadas para uma função, uma cópia da instância é criada. Nesta lição, vamos explorar como definir propriedades e métodos em estruturas, juntamente com exemplos para ilustrar esses conceitos.
Definindo uma Estrutura
Para definir uma estrutura em Swift, usamos a palavra-chave struct
, seguida pelo nome da estrutura e um conjunto de chaves {}
que contêm suas propriedades e métodos.
Exemplo: Definição Básica de Estrutura
struct Pessoa {
// Propriedades
var nome: String
var idade: Int
}
Neste exemplo, definimos uma estrutura chamada Pessoa
, que possui duas propriedades: nome
(um String
) e idade
(um Int
).
Criando Instâncias de uma Estrutura
Depois de definir uma estrutura, podemos criar instâncias dela usando seu inicializador.
Exemplo: Criando Instâncias
var pessoa1 = Pessoa(nome: "Alice", idade: 30)
var pessoa2 = Pessoa(nome: "Bob", idade: 25)
Neste trecho, criamos duas instâncias de Pessoa
, pessoa1
e pessoa2
, cada uma com seu próprio conjunto de propriedades.
Acessando e Modificando Propriedades
Como as estruturas são tipos por valor, podemos acessar e modificar suas propriedades usando a notação de ponto. Modificar uma propriedade de uma instância variável de uma estrutura afetará apenas essa instância.
Exemplo: Acessando e Modificando Propriedades
// Acessando propriedades
print("\(pessoa1.nome) tem \(pessoa1.idade) anos.") // Saída: Alice tem 30 anos.
// Modificando propriedades
pessoa1.idade += 1
print("\(pessoa1.nome) agora tem \(pessoa1.idade) anos.") // Saída: Alice agora tem 31 anos.
Neste exemplo, acessamos as propriedades de pessoa1
e imprimimos os valores. Também atualizamos a propriedade idade
e imprimimos as informações atualizadas.
Adicionando Métodos a Estruturas
As estruturas também podem ter métodos, que são funções definidas dentro da estrutura. Esses métodos podem operar nas propriedades da estrutura ou realizar outras ações.
Exemplo: Adicionando um Método
struct Pessoa {
var nome: String
var idade: Int
// Método para celebrar um aniversário
mutating func celebrarAniversario() {
idade += 1
print("Feliz Aniversário, \(nome)! Você agora tem \(idade) anos.")
}
}
Aqui, adicionamos um método chamado celebrarAniversario()
que aumenta a propriedade idade
em 1 e imprime uma mensagem de aniversário. Note que marcamos este método como mutating
porque ele altera uma propriedade da estrutura.
Chamando um Método
var pessoa3 = Pessoa(nome: "Charlie", idade: 28)
pessoa3.celebrarAniversario() // Saída: Feliz Aniversário, Charlie! Você agora tem 29 anos.
Neste exemplo, criamos uma instância de Pessoa
chamada pessoa3
e chamamos seu método celebrarAniversario()
para mostrar como ele modifica a propriedade e imprime a mensagem.
Conclusão
As estruturas em Swift são ferramentas poderosas para organizar dados com propriedades e métodos. Nesta lição, cobrimos como definir uma estrutura, criar instâncias, acessar e modificar propriedades, e adicionar métodos a estruturas. Lembre-se de que as estruturas são tipos por valor, então quaisquer modificações afetam apenas a instância específica com a qual você está trabalhando. Isso torna as estruturas uma excelente escolha para encapsular dados e funcionalidades relacionadas.
Com esse conhecimento, você pode começar a utilizar estruturas em suas aplicações Swift de maneira eficaz!