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:
- Acesse a aba Associações do objeto de tela.
- Com o auxílio do AppBrowser, busque o XControl ou o XObject.
- Selecione a propriedade criada do tipo Classe
Figura 6
- 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
- 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
- Usando Bibliotecas no Elipse E3: Introdução.
- Usando Bibliotecas no Elipse E3: Lição 1.
- Usando Bibliotecas no Elipse E3: Lição 2.
- Usando Bibliotecas no Elipse E3: Lição 3.
- Usando Bibliotecas no Elipse E3: Lição 5.
- Usando Bibliotecas no Elipse E3: Lição 6.
- Usando Bibliotecas no Elipse E3: Lição 7.
- Usando Bibliotecas no Elipse E3: Lição 8.