Nas universidades, muitas tentativas são feitas a fim de tornar a programação orientada a objetos (POO) menos abstrata e teórica. Diferentes técnicas e ferramentas têm sido utilizadas com o propósito de dar ao estudante experiências comprometidas e concretas com objetos, dentre elas apresenta-se o Greenfoot. Este é um ambiente que combina um framework para criação de cenários bidimensionais em Java e um ambiente de desenvolvimento integrado (IDE, com class browser, editor, compilador, execução, etc.) adequado para programadores iniciantes. Embora o Greenfoot suporte todas as características da linguagem Java, é especialmente útil para exercícios de programação que apresentem algum elemento visual.

As suas características principais são a visualização dos objetos e interação entre os mesmos. Para aqueles que conhecem a ferramenta BlueJe algum framework de micro-mundo – como Karel the Robot–, Greenfoot reúne o que há de melhor em cada uma deles: interação entre os objetos (BlueJ) e visualização de objetos (micro-mundos).

O Greenfoot é resultado da continuação do projeto de pesquisa voltado ao aprendizado da Orientação a Objetos (OO) para alunos de graduação, desenvolvido pela Deakin University (Austrália) e University of Kent (Inglaterra), com contribuição de outros grupos de diferentes países. Foi criado por Poul Henriksen e Michael Kölling (responsável pelo BlueJ) e é hoje um projeto suportado pela Sun Microsystems.

O ambiente Greenfoot

A IDE é gratuita, porém não é aberta. Existe a proteção de copyright mantida na definição do ambiente por seus criadores, mas todos os códigos-fonte pertencentes aos cenários são abertos e podem ser estendidos. Greenfoot apresenta um tutorial online e é disponibilizado para download em greenfoot.org. Ainda neste portal são dispostos instaladores para Windows, Mac OS X e um JAR executável para qualquer outro sistema operacional com a máquina virtual Java instalada. Para execução é necessário ter um JDK na versão 1.5.X ou 1.6.X (no Windows Vista, apenas a partir desta última versão que o Greenfoot torna-se compatível).

No Greenfoot, todo projeto é considerado um cenário no qual serão inseridos os atores. Este cenário é considerado um mundo para a atuação dos objetos (instância dos atores). Ao iniciar o cenário wombats (já disponível após a instalação da IDE) pode-se observar a disposição dos componentes do ambiente na sua interface principal (veja a Figura 1). O Class Browser – com as classes abstratas World e Actor – já é previamente definido e vai ampliando de acordo com as novas classes criadas no cenário. Usando de herança, as classes mais recentes são definidas a partir das iniciais, como no exemplo: WombatWorld herda da classe World, enquanto que Wombat e Leaf herdam de Actor. Os atributos dos objetos podem ser definidos pelo Object Inspector (não presente na figura) e os métodos podem ser invocados através de cliques do mouse, inclusive a instância de novos objetos – com o construtor da classe selecionada.

Interface principal do Greenfoot

Figura 1. Interface principal do Greenfoot.

Criando um cenário no Greenfoot

Para criar um novo cenário, deve-se acessar Scenario>New no menu principal. Será apresentado aqui o processo de criação de um novo cenário a partir de um estudo de caso que simula um tráfego fictício com a presença de semáforos e carros que possuem movimentos pré-determinados. Os carros a serem definidos e seus movimentos são especificados na Figura 2. Serão definidas as classes TrafegoWorld, Semaforo, Carro, Ambulancia, CarroAzul, CarroVerde e CarroVermelho, sendo que a classe Carro será abstrata para a modelagem dos elementos comuns às suas subclasses.

Figura 2.Comportamento dos atores deste cenário.

Carros encontram sinal fechado
Todos param ao semáforo, exceto a ambulância
Quando o sinal está aberto, cada carro toma um sentido
(a) Carros encontram sinal fechado

(b) Todos param ao semáforo, exceto a ambulância

(c) Quando o sinal está aberto, cada carro toma um sentido

Para inserir uma nova classe no cenário existem duas formas, sendo que a mais direta é ao clique na opção ...

Quer ler esse conteúdo completo? Tenha acesso completo