Usando Bibliotecas no Elipse E3: Lição 4.

Orientação a Objetos

A orientação a objetos é um paradigma de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de objetos.

Na programação orientada a objetos, implementa-se um conjunto de classes que definem os objetos presentes no sistema de software. Cada classe determina o comportamento (definido nos métodos) e estados possíveis (atributos) de seus objetos, assim como o relacionamento com outros objetos.

A Classe representa um conjunto de objetos com características afins. Uma classe define o comportamento dos objetos através de seus métodos, e quais estados ele é capaz de manter através de seus atributos. Por exemplo, Cachorro é uma classe, e um determinado cachorro chamado Rex é um objeto que pertence a essa classe.

Os Atributos são as características de um objeto, isto é, a estrutura de dados que vai representar a classe. Por exemplo, os atributos de um objeto Cachorro são nome, raça, idade, cor, etc. Cada um desses atributos pode ser preenchido com um valor qualquer, como Rex para o nome do cachorro ou marrom para a cor dos seus pelos.

Objetos do E3

Um Tag de Demonstração é uma classe (DemoTag) que possui diversos atributos:

Figura 1

Quando inserimos um Tag Demo na aplicação, instanciamos um objeto do tipo DemoTag, e cada Tag poderá ter um valor diferente para cada propriedade.

Figura 2

Ao criar uma associação com um Tag Demo ou escrever um script que usa o Tag Demo, escolhemos o objeto Tag Demo e qual das suas propriedades queremos acessar. Por exemplo, se desejamos ver o valor de um Tag Demo em um Display, buscamos o Tag e a propriedade Value com o auxílio do AppBrowser. Se desejarmos visualizar o valor máximo que o Tag pode assumir, buscamos o Tag e a propriedade Maximum. Assim, todas as Associações sempre terão o caminho NomeObjeto.NomePropriedade. Por exemplo:

Figura 3

Propriedades de XControls e XObjects

Quando criamos um XControl ou um XObject, podemos criar propriedades para esses objetos. Essas propriedades podem ser do tipo String, Integer, Boolean, etc., e também podem ser uma classe: DemoTag, InternalTag, IOTag, etc.

Como exemplo, vamos configurar para que seja possível alterar as configurações de um Tag Demo em tempo de execução. Assim, iremos desenvolver um XControl (DemoTagConfig) que possa alterar as propriedades Minimum, Maximum e Enabled do Tag, e que exiba o seu nome e valor.

Figura 4

Ao invés de criarmos cinco propriedades (Nome, Valor, Máximo, Mínimo e Enabled) no XControl, criaremos uma propriedade do tipo DemoTag. Assim, temos acesso a todas as propriedades do Tag Demo:

Figura 5

Para associar cada propriedade com seus respectivos objetos de tela (Display, SetPoint, Botão, etc.), devem-se seguir estes passos:

  1. Acesse a aba Associações do objeto de tela.
  2. Com o auxílio do AppBrowser, busque o XControl ou o XObject.
  3. Selecione a propriedade criada do tipo Classe

Figura 6

  1. No campo inferior do AppBrowser, digite .NomePropriedade.

Figura 7

O caminho da associação será NomeElipseX.NomePropriedadeCriada.NomePropriedade. Para os demais objetos desse XControl, teremos:

  • DemoTagConfig.Tag.Name
  • DemoTagConfig.Tag.Enabled
  • DemoTagConfig.Tag.Maximum
  • DemoTagConfig.Tag.Minimum

Acessando objetos inseridos em XControls e XObjects

Às vezes, é necessário acessar um objeto inserido em um XControl ou um XObject através da aplicação. Por exemplo:

Figura 8

Como acessar o TagContador através de um objeto de tela?

Para isso, o jeito mais fácil é criar uma propriedade do tipo do objeto (nesse caso, CounterTag) e associá-la ao objeto. Para associar uma propriedade de um ElipseX (XControl ou XObject) a um dos objetos inseridos nele, arraste o objeto até o campo Valor Inicial.

Figura 9

Qualquer informação do Tag Contador pode ser obtida através da propriedade Tag criada (lembre-se de usar a sintaxe Propriedade.Propriedade). Por exemplo:

Figura 10

Para visualizar o valor do Tag Contador que existe no XObject Cronometro1 na Tela, faça a seguinte Associação em um Display da Tela: Dados.Cronometro1.Tag.Value.

Exercícios

  1. Crie um XControl chamado SomaTagDemo com as seguintes configurações:
  • Ele deve exibir os valores de dois Tags Demo em Displays.
  • Caso o valor do Tag Demo seja 70% do valor máximo, o texto do Display deve estar em vermelho.
  • Um terceiro Display deve exibir a soma dos valores dos dois Tags.

Artigos Relacionados


Anexos:

ProjetoBibliotecas_4.zip

Este artigo foi útil? Was this post helpful?
Yes0
No1

Deixe seu Comentário

Seu endereço de e-mail não será publicado. Campos marcados com asterisco são obrigatórios *