13
RV: Objetos e RV: Objetos e Implementação Implementação Prof. Dr. Annibal Hetem Prof. Dr. Annibal Hetem Jr. Jr.

RV: Objetos e Implementação Prof. Dr. Annibal Hetem Jr

Embed Size (px)

Citation preview

Page 1: RV: Objetos e Implementação Prof. Dr. Annibal Hetem Jr

RV: Objetos e RV: Objetos e ImplementaçãoImplementação

Prof. Dr. Annibal Hetem Jr.Prof. Dr. Annibal Hetem Jr.

Page 2: RV: Objetos e Implementação Prof. Dr. Annibal Hetem Jr

Programação de RVsProgramação de RVs

Ainda não existem no mercado Ainda não existem no mercado ferramentas específicas para o ferramentas específicas para o desenvolvimento de RVs.desenvolvimento de RVs.

As aplicações existentes usam As aplicações existentes usam códigos desenvolvidos códigos desenvolvidos especialmente para sua especialmente para sua implementação.implementação.

Page 3: RV: Objetos e Implementação Prof. Dr. Annibal Hetem Jr

WidgetsWidgets

A bibliografia e os projetistas de RV A bibliografia e os projetistas de RV convencionaram chamar de “widget” convencionaram chamar de “widget” uma entidade de software OO que uma entidade de software OO que encapsulam em um único objetoencapsulam em um único objetoEstadosEstadosFuncionalidadesFuncionalidadesAparênciaAparência InterfaceInterface

Page 4: RV: Objetos e Implementação Prof. Dr. Annibal Hetem Jr

Tipos de widgetsTipos de widgets

As widgets são associadas em “tipos”.As widgets são associadas em “tipos”. Cada instância de uma widget contém Cada instância de uma widget contém

dados e funcionalidades específicas de dados e funcionalidades específicas de seu tipo.seu tipo.

Cada “tipo” é definido pela lista Cada “tipo” é definido pela lista destas especificidades e seu destas especificidades e seu comportamento.comportamento.

O tipo de uma widget é definido no O tipo de uma widget é definido no momento de seu instanciamento.momento de seu instanciamento.

Page 5: RV: Objetos e Implementação Prof. Dr. Annibal Hetem Jr

Biblioteca de WidgetsBiblioteca de Widgets

Permite que o desenvolvedor utilize Permite que o desenvolvedor utilize aspectos comuns às widgets e chame aspectos comuns às widgets e chame funções específicas de uma instância funções específicas de uma instância de widget.de widget.

São o primeiro passo no sentido de São o primeiro passo no sentido de uma linguagem (ou uma meta-uma linguagem (ou uma meta-linguagem) padrão para a RV.linguagem) padrão para a RV.

Page 6: RV: Objetos e Implementação Prof. Dr. Annibal Hetem Jr

Herança Herança funcionalfuncional

Cada widget pode ser Cada widget pode ser construída a partir de construída a partir de outras widgets.outras widgets.

Permite que mecanismos de interação Permite que mecanismos de interação sejam prototipados.sejam prototipados.

Facilita a reprogramação de Facilita a reprogramação de comportamentos específicos.comportamentos específicos.

A implementação parte da construção de A implementação parte da construção de primitivas simples, e evolui para as mais primitivas simples, e evolui para as mais complexas.complexas.

Page 7: RV: Objetos e Implementação Prof. Dr. Annibal Hetem Jr

Herança de recursosHerança de recursos

Widgets de diferentes tipos podem Widgets de diferentes tipos podem compartilhar o uso de recursos comuns.compartilhar o uso de recursos comuns.

Facilita o projeto de interfaces Facilita o projeto de interfaces modulares.modulares.

Eventos gerados por widgets podem Eventos gerados por widgets podem ser usados como triggers de outras ser usados como triggers de outras widgets.widgets.

O projeto de widgets assume um O projeto de widgets assume um caráter hierárquico.caráter hierárquico.

Page 8: RV: Objetos e Implementação Prof. Dr. Annibal Hetem Jr

EventosEventos

As ações e mudanças de estado das As ações e mudanças de estado das widgets são disparadas (triggered) widgets são disparadas (triggered) por eventos.por eventos.

Eventos podem ser atômicos (simples)Eventos podem ser atômicos (simples) Pegar, avançar, ligar...Pegar, avançar, ligar...

Eventos podem ser compostos Eventos podem ser compostos (complexos)(complexos) Jogar para cima, chutar, puxar uma Jogar para cima, chutar, puxar uma

alavanca.alavanca.

Page 9: RV: Objetos e Implementação Prof. Dr. Annibal Hetem Jr

Widgets x EventosWidgets x Eventos

As widgets respondem aos eventos As widgets respondem aos eventos através de um mecanismo de através de um mecanismo de call-backcall-back..

O call-back permite “uma ação disparar O call-back permite “uma ação disparar outras ações”.outras ações”.

Exemplo:Exemplo: Mudar um objeto de lugar pode fazer Mudar um objeto de lugar pode fazer

um outro objeto cair ou deformar-se, um outro objeto cair ou deformar-se, que por sua vez gera um ruído.que por sua vez gera um ruído.

Evento gerado pelo usuário Call-back de

primeira ordem

Call-back de segunda ordem

Page 10: RV: Objetos e Implementação Prof. Dr. Annibal Hetem Jr

Atributos e propriedadesAtributos e propriedades

Algumas propriedades são comuns Algumas propriedades são comuns a todas as widgets:a todas as widgets: Nome, cor, ícone, widget pai, etc.Nome, cor, ícone, widget pai, etc.

Algumas propriedades são Algumas propriedades são atribuídas por herança.atribuídas por herança.

A widget “raiz” (root) tem valores A widget “raiz” (root) tem valores default e a partir dela são geradas default e a partir dela são geradas as outras instâncias.as outras instâncias.

Page 11: RV: Objetos e Implementação Prof. Dr. Annibal Hetem Jr

Exemplo: widget escalarExemplo: widget escalar

Permite ao Permite ao usuário usuário escolher um escolher um valor escalar valor escalar entre um entre um mínimo e um mínimo e um máximo.máximo.

Page 12: RV: Objetos e Implementação Prof. Dr. Annibal Hetem Jr

Controle de coresControle de cores

A A combinação combinação de várias de várias widgets widgets pode pode compor compor widgets widgets mais mais complexas.complexas.

Page 13: RV: Objetos e Implementação Prof. Dr. Annibal Hetem Jr

Exemplos de widgets Exemplos de widgets complexascomplexas

Vizualizar documento de texto Vizualizar documento de texto (longo)(longo)

Busca na Internet/IntranetBusca na Internet/Intranet LoginLogin Calendário e relógioCalendário e relógio Customização de íconeCustomização de ícone