Adicionando métodos a uma classe » Histórico » Versão 10
Gabriel Borges da Conceição, 06/09/2019 12:53 h
| 1 | 1 | Gabriel Borges da Conceição | # Adicionando métodos a uma classe |
|---|---|---|---|
| 2 | |||
| 3 | 3 | Gabriel Borges da Conceição | Vamos criar os métodos "getPos", "setPos", "getVel", "setVel" e "move". |
| 4 | 1 | Gabriel Borges da Conceição | |
| 5 | Para criar um método, abra o projeto, clique com o botão direito na sua classe, "New" e escolha o tipo de VI adequado ao método: |
||
| 6 |  |
||
| 7 | |||
| 8 | Os tipos que mais escolhemos são "VI from Dynamic Dispatch Template", "VI from Static Dispatch Template" e "VI for Data Member Access". |
||
| 9 | |||
| 10 | VI from Static Dispatch Template: Cria template com o objeto de entrada e saída e tratamento de erros. |
||
| 11 | |||
| 12 | 9 | Gabriel Borges da Conceição | VI from Dynamic Dispatch Template: Similar à VI from Static Dispatch Template. A diferença é que permite ser reescrito pela classe filha, daí o nome "Dynamic". Mas lembre-se que a reescrita necessita da criação de mais parâmetros a serem passados. |
| 13 | 1 | Gabriel Borges da Conceição | |
| 14 | VI for Data Member Access: Cria template com objeto de entrada e saída já retornando um atributo. Por padrão, ela é do tipo "Dynamic", ou seja, permite reescrita pelas classes filhas. |
||
| 15 | |||
| 16 | A escolha entre essas 3 é apenas para facilitar e usar algo já pronto para a situação, não fazendo muita diferença. Na dúvida do que escolher, escolha |
||
| 17 | 10 | Gabriel Borges da Conceição | VI from Dymanic Dispatch Template e caso precise futuramente, é permitido trocar a VI para "Static". |
| 18 | 1 | Gabriel Borges da Conceição | |
| 19 | 3 | Gabriel Borges da Conceição | Vamos agora, criar os métodos "getPos" e "setPos" que vão nos permitir visualizar e setar o atributo x, respectivamente. Vamos escolher "VI for Data Member Access": |
| 20 | 1 | Gabriel Borges da Conceição | |
| 21 |  |
||
| 22 | |||
| 23 | 6 | Gabriel Borges da Conceição | Precisamos escolher qual atributo queremos acessar, o tipo de acesso (leitura ou escrita ou ambos) e "dymaic" ou "static". Vamos esolher "dynamic" por padrão. |
| 24 | 1 | Gabriel Borges da Conceição | |
| 25 | 3 | Gabriel Borges da Conceição | Ao criar utilizando a opção de access "Read and Write", os seguintes templates são gerados já com todas as entradas e saídas linkadas: |
| 26 | 1 | Gabriel Borges da Conceição |  |
| 27 | 4 | Gabriel Borges da Conceição | |
| 28 | E |
||
| 29 | |||
| 30 | 3 | Gabriel Borges da Conceição |  |
| 31 | 1 | Gabriel Borges da Conceição | |
| 32 | Olhando para o painel frontal dessa VI, percebemos o seguinte: |
||
| 33 |  |
||
| 34 | |||
| 35 | Repare que as conexões da entrada RoboUni in e da saída RoboUni out estão hachuradas, representando o tipo dynamic que escolhemos. Se quisermos trocar para Static, basta clicar com o botão direito na conexão hachurada, "This connection is" e escolher Required. Após isso, a conexão deixa de ser hachurada. |
||
| 36 | 7 | Gabriel Borges da Conceição | E se quiséssemos trocar de static para dymanic, bastava fazer o mesmo e escolher a opção "Dymanic Dispatch Input (Required)". |
| 37 | 1 | Gabriel Borges da Conceição | |
| 38 | |||
| 39 | Detalhe MUITO importante é que após adicionar um método ou qualquer outra VI à classe, precisamos salvar a classe, não basta salvar apenas o projeto: |
||
| 40 | . |
||
| 41 | |||
| 42 | |||
| 43 | 3 | Gabriel Borges da Conceição | Agora, de maneira similar à criação dos métodos "getPos" e "setPos", vamos criar os métodos "getVel" e "setVel" que lê ealtera o valor da velocidade do robô, respecitvamente: |
| 44 | 1 | Gabriel Borges da Conceição |  |
| 45 | 4 | Gabriel Borges da Conceição | |
| 46 | E |
||
| 47 | |||
| 48 | 1 | Gabriel Borges da Conceição |  |
| 49 | 2 | Gabriel Borges da Conceição | |
| 50 | 8 | Gabriel Borges da Conceição | Seja então a criação do método "move": |
| 51 |  |
||
| 52 | 2 | Gabriel Borges da Conceição | |
| 53 | Lembrando que após isso é importante que salve novamente a classe. |