Programando com Xojo do zero: módulos de classe e extensões

Programando com Xojo do zero: módulos de classe e extensões

Continuamos com o Curso de Programação com Xojo… e como, como você já sabe, é um ambiente de desenvolvimento multiplataforma, nada melhor do que continuar o desenvolvimento do nosso projeto de exemplo (Personal Expenses) desta vez… em Linux!

Isso mesmo, projetos criados com Xojo podem ser abertos pelo IDE a partir de qualquer plataforma suportada: macOS, Windows e Linux.

Também poderíamos desenvolver o aplicativo no IDE a partir do macOS e executá-lo em modo de depuração em um computador remoto em nossa rede local com outro sistema operacional: Windows e Linux. Nada mal, certo?



Mas voltando ao que nos interessa, desta vez vamos expandir o aplicativo para que a lista geral nos mostre em uma coluna adicional o total acumulado para cada uma das categorias.

Como você deve se lembrar, quando implementamos a lista hierárquica no capítulo anterior, vimos como as despesas foram agrupadas por categoria, para que você possa visualizar cada uma delas para ver todos os registros (itens de despesas), bem como o valor associado com cada um deles.

No entanto, seria bom poder ver qual é o gasto acumulado para a categoria sem precisar explicar e somar cada uma das despesas por conta própria. E é isso que você pode ver no vídeo que acompanha este novo capítulo.

A questão importante aqui é que usaremos dois novos elementos fornecidos pela linguagem de desenvolvimento Xojo para fazer isso. Uma delas é módulos e o segundo é Extensões de classe.

https://youtu.be/me6sr9hdjm4

Módulos em Xojo

Você pode pensar nos Módulos como uma ferramenta fornecida pela linguagem de programação Xojo que nos permite criar nossa própria "biblioteca" de funções (métodos), propriedades, classes, outros módulos e, finalmente, qualquer elemento suportado pela linguagem.



Isso é importante porque criar essas bibliotecas ou módulos nos dá uma enorme flexibilidade.

Por exemplo, por um lado podemos indicar que todos os elementos adicionados ao módulo têm um escopo Global, o que significa que podemos usá-los (invocá-los, no caso de métodos; ou acessá-los, se forem propriedades), desde em qualquer outro lugar do aplicativo.

Isso também implica que uma biblioteca bem criada nos permitirá usá-la repetidamente em qualquer aplicativo que desenvolvermos sem ter que reescrever o mesmo código repetidamente.

Ou seja, depois de adicionar a funcionalidade fornecida na biblioteca, bastará simplesmente incorporar o módulo em qualquer outro aplicativo que você deseja criar… e usar essa funcionalidade.

Se você quiser mais informações sobre o que são módulos e como usá-los, recomendo que você dê uma olhada nesta seção da documentação online. 

Extensões de classe em Xojo

O segundo problema são as extensões de classe. Bem, deixe-me explicar. Às vezes acontece que achamos interessante adicionar funcionalidade a uma classe existente.

O problema é que podemos não ser os desenvolvedores originais da classe em questão, o que significa que não temos acesso ao código fonte para que possamos modificar ou "estender" sua funcionalidade; assim como acontece, por exemplo, com as classes que você encontra já disponíveis no mesmo Xojo Framework, sem ir mais longe.

Como podemos fazer então nestes casos? Bem, a resposta está no uso da palavra-chave "Extends" no início da definição de um novo método (por exemplo em um Módulo).

Desta forma indicamos ao compilador Xojo que tal método irá "estender" ou "estender" a capacidade do tipo de dado que indicamos abaixo como primeiro parâmetro.



Uma vez criado, poderemos usar este método usando a notação de ponto como se fosse um método originalmente adicionado à classe em questão.


Isso é algo que você verá muito mais claramente no vídeo que acompanha este capítulo do curso; Entre outras coisas, porque esta é a técnica que usamos justamente para calcular o total acumulado de todos os itens de despesa de uma mesma categoria: adicionamos um novo método em um módulo com "Extend" que recebe como primeiro parâmetro um array de dados de tipo Despesa (Lembre-se que esta é a classe que criamos para adicionar novos itens de despesas).

Então, o código do método só precisa percorrer cada um dos elementos do array e adicionar os diferentes valores, retornando o valor total como resultado da chamada.

Como de costume, você pode aprender mais sobre o " Estende ”Palavra-chave na documentação online realbasic.

Tente criar seu próprio projeto de exemplo, adicionando um módulo e um ou mais métodos que estendem os recursos de várias classes existentes criando novos métodos no módulo.


Javier Rodriguez Engenheiro Xojo Twitter: @xojoes Facebook: http://facebook.com/xojoes/ Baixe a última versão em www.xojo.com Recursos Xojo em espanhol: https://docs.xojo.com/spanish

Adicione um comentário do Programando com Xojo do zero: módulos de classe e extensões
Comentário enviado com sucesso! Vamos analisá-lo nas próximas horas.

End of content

No more pages to load