Uma característica refere -se a um grupo de métodos definidos para um tipo específico. As características são incríveis, pois fornecem uma abstração para funcionalidade e lógica que podem ser compartilhadas entre vários tipos.
Características suportam métodos concretos e abstratos, como veremos neste artigo.
Rust Defina característica
Para definir uma característica em ferrugem, usamos a palavra -chave de característica, seguida pelo nome e corpo da característica. O corpo da característica pode conter um método concreto ou abstrato.
A sintaxe é como mostrado:
traitatraitnameObserve que um método de característica inclui o parâmetro e auto. Este deve ser o primeiro parâmetro no método, e outros parâmetros devem ser fornecidos após.
informações de característicasNo código acima, definimos um estreito chamado informações que contém métodos abstratos. Um objeto de carro pode usar os métodos acima. No entanto, como o método de descrição e os valores de quilometragem pode diferir dependendo do carro, a lógica deve ser aplicada distintamente.
Traço de implementação de ferrugem
Depois de definir uma característica, podemos precisar implementá -la. A sintaxe para a implementação do método de características é semelhante a um método de estrutura.
Considere o exemplo abaixo:
traitinfoNo exemplo acima, definimos uma estrutura que mantém informações para um veículo. Podemos então implementar métodos, como mostrado acima.
Na função principal, podemos ter instâncias para as estruturas do veículo, como mostrado:
fnmain ()No código acima, definimos duas instâncias da estrutura do veículo com as propriedades implementadas de maneira diferente.
Chamando métodos de características
Depois de implementarmos os métodos para uma característica, podemos chamar o método usando a notação de ponto como mostrado:
println!("", carro.descrição());Isso deve retornar:
Modelo: Camry, Fabricante: Toyota, Preço: 25295Conclusão
Este guia fornece os fundamentos para trabalhar com características na linguagem de ferrugem. Considere a documentação para saber mais.