Aula 63
Como Fazer o Circulo Implementar a Interface Geometrica - Aula de Go
Summary
Resumo do Aprendizado sobre Interfaces em Go
Nesta sessão, continuaremos a explorar o conceito de interfaces na linguagem Go. Vamos detalhar a implementação da interface geométrica para a estrutura de um círculo.
Implementação da Interface Geométrica
-
Declaração de Variável:
- Declara-se uma variável
G
do tipointerface geométrica
, que inicialmente contém um quadrado com lado 3. - Através de
G
, chamamos o métodoárea
definido na interface, que obtém o valor por meio do quadrado.
- Declara-se uma variável
-
Adicionando o Círculo:
- O círculo também precisa implementar a interface geométrica.
- Para isso, é necessário definir o método
área
para o tipocírculo
.
-
Definição do Método Área:
- Definimos a função
área
que retorna umfloat64
. - Para transformá-la em um método, adicionamos um receptor (neste caso,
C
do tipocírculo
). - A definição da função
área
do círculo consiste na fórmula:π * (raio * raio)
. Usamosmath.Pi
da bibliotecamath
para o valor de π.
- Definimos a função
-
Instanciando o Círculo:
- Após a implementação, podemos criar um círculo com um raio de 5 e atribuí-lo à variável
G
do tipo interface geométrica. - Utilizamos
fmt.Print
para imprimir a área do círculo.
- Após a implementação, podemos criar um círculo com um raio de 5 e atribuí-lo à variável
-
Testes e Resolução de Erros:
- Um erro foi identificado ao tentar converter um
int
para o tipo do raio. O correto é usar chaves{}
para definir a estrutura literal do círculo, não parênteses()
. - Após a correção, a área do círculo foi calculada corretamente, resultando em aproximadamente 78,539.
- Um erro foi identificado ao tentar converter um
Considerações Finais
- É importante notar que, embora possamos usar a mesma variável do tipo interface geométrica para armazenar um círculo ou um quadrado, não conseguimos acessar diretamente suas propriedades (como
raio
oulado
) sem um cast apropriado.
Obrigado por acompanhar a aula, até a próxima!
Video Transcript
Estamos de volta, vamos continuar o nosso aprendizado de interfaces na linguagem Go.
Vamos continuar aqui, nós declaramos uma variável chamada G, que é do tipo interfaz
geométrica. Atribuímos a G um valor do tipo quadrado que tem lado 3.
Agora vimos que podemos chamar o método área através da interface que na verdade
vai bater lá no método área do quadrado. Agora vamos fazer o seguinte, vamos fazer o
círculo também implementar a interface geométrica. Do que a gente precisa para implementar a
interface geométrica. Precisamos definir o método área na nosso círculo, tipo círculo.
Daí ele vai implicitamente implementar a interface. Vamos lá, aqui depois na linha
21 vamos criar aqui primeiro a função chamada área que vai retornar o que é um float 64,
não vou esquecer do tipo de retorno. Para poder tornar essa função um método entre
o nome da função e a palavra chave funk, adicionamos o receptor entre parênteses.
Eu vou chamar esse receptor de C, que vai ser do tipo círculo. Então com isso definimos
o método área do círculo, nesse caso vai automaticamente implementar a interface geométrica.
Vamos completar a definição da função. A função área do círculo vai ser o pi
vezes o raio quadrado. Agora posso digitar 3.14 mas na verdade tem um constante disponível
na linguagem de gol através do pacote math.pi, essa vai ser a constante que armazena o valor
de pi. Então para poder usar isso vou lá importar o pacote math matemática lá em cima,
depois de fm t vou dizer math dentro das aspas. Voltando aqui a linha aqui 25 vou multiplicar
o pi vezes o raio quadrado. Eu posso fazer raio vezes o raio para não poder chamar em
uma função de exponência. Agora o raio vem do c, então não se esqueça, c ponto raio.
Com isso o círculo vai implementar a interface geométrica e nós podemos aqui no nosso exemplo
atribuir o g para um novo form, vai ser o círculo de raio 5 por exemplo e eu posso
dizer a mesma coisa fm t print f a área do círculo de raio 5 e vou usar o percentual
v, substituir esse valor com o g ponto área chamada da função para obter a área da forma
que através da variável do tipo interface geométrica e o barra n só para adicionar
a nova linha, quebra a linha depois da sentença aqui. Vamos testar isso e ver se dá o pi
3,14 vezes 25 que é 5 ao quadrado vai dar mais ou menos o que 3 vezes 25 75 um pouco
maior que 75. Vamos ver. Volto a terminar aqui eu vou dar o gol run interface. Ah, o que aconteceu?
Erro. Linha 34 está dizendo que não pode converter o 5 do tipo int para tipo 5, é porque?
O que eu fiz de errado aqui? Eu usei parênteses em vez de das chaves para criar a estrutura
literal, desculpe. A estrutura círculo tem propriedade raio para poder definir a estrutura
literal tem que usar as chaves, não é parênteses. Tá certo? Pronto, então deu um pouco mais
de 75 para a área do círculo 78,539, assim por diante.
Usamos a mesma variável do tipo interface geométrica para poder armazenar um círculo,
armazenar um quadrado, mas tem aquele detalhe que não podemos acessar propriedade do círculo,
que é o raio, ou a propriedade do quadrado que é o lado diretamente através da variável
de interface geométrica. Nesse caso a gente teria que ter, por exemplo, armazenar uma
variável que tem tipo círculo ou tipo quadrado. Tá? Então por essa aula só implementamos
a... para o círculo implementa a interface geométrica, porque ele definiu a metodória.
Então obrigado por assistir e até a próxima.
Nenhum comentário ainda (loading...)
Nenhum comentário ainda (loading...)
Gostou da aula? 😆👍
Apoie nosso trabalho com uma doação: