# Chapter 10. O Navegador de Classes

# 10.1. O Visualizador de Classes

O Visualizador de Classes do KDevelop é uma das ferramentas mais importantes e úteis que o ambiente de desenvolvimento disponibiliza ao programador para gerir o código do seu projecto. Quando um projecto é aberto, um analisador de sintaxe de classes lê todo o código do projecto procurando funções, classes etc., apresentando depois os resultados na árvore de vista VC. Este capítulo mostra-lhe como utilizar o Visualizador de Classes e a funcionalidade disponibilizada e como isso pode melhorar o seu trabalho.

As Classes e os seus métodos também são acessíveis através das caixas de selecção da barra de ferramentas do navegador. Aí, a caixa esquerda selecciona a classe; a direita permite-lhe escolher os métodos da classe seleccionada. Quando selecciona um método, o navegador de classes mostra automaticamente o ficheiro de implementação e coloca o cursor no método. Finalmente, o botão de assistente de classes à direita da caixa de selecção irá mostrar-lhe, quando premido, a declaração do método. O menu de escolha, disponibilizado pela seta para baixo no botão, permite funcionalidades adicionais também disponíveis no navegador de classes, tais como:

- Ver Declaração: navega para a declaração do método

- Ver Definição: navega para a definição do método

- Nova Classe: abre o diálogo de Nova Classe para construir uma classe nova

- Adicionar Método: adiciona um método à classe seleccionada

- Adicionar Atributo: adiciona um atributo à classe seleccionada

## 10.1.1. Objectos Disponíveis

Por objectos disponíveis, descrevemos um termo que significa que o código C++ pode ser visto como uma colecção de objectos- classes, seus membros, funções globais e afins. A árvore de classes apresenta estes objectos logicamente e ordena-os por caracter, pelo que são fáceis de localizar na árvore bem como pelo seu icon correspondente. Assim a árvore de classes contém uma pasta "Classes" e uma "Globais". Por isso a pasta "Classes" geralmente contém as classes do projecto; se o seu projecto contém subdirectórios para gerir os ficheiros de código, estes também são apresentados pelo seu nme de directório original e contêm todas as classes que estão guardades nos ficheiros localizados no subdirectório.

Mais ainda, quando expandindo uma classe, a árvore de classes apresenta o conteudo da classe separando os métodos e atributos. Como estes podem ter atributos dos tipos público, privado e protegido, estes são também apresentados por icons modificados. Pode ver que uma classe apresentada no Navegador de Classes contém todos os objectos que estão presentes na declaração da classe.

Agora, classes são algo muito comum quando a programar em C++ e irão conter a maior parte do código. Mas as aplicações também contêm objectos que têm a apresentação de "Globais" para o programa. Estes seriam estruturas, funções etc. Especialmente a função `main()` aparece em todas as aplicações e necessita de a modificar de uma ou outra forma por vezes. Para aceder a estes objectos, o Visualizador de Classes disponibiliza a pasta "Globais", contendo subpastas para os seguintes tipos de objectos:

- Estruturas

- Funções

- Variáveis

Como os icons que apresentam estes itens são semelhantes aos utilizados no visualizador de classes, o seu significado é fácil de adivinhar e recordar pelo programador.

Finalmente, pode ser afirmado que o visualizador de classes apresenta o seu projecto graficamente através dos seus objectos relativamente à sua aparência para o código. Na secção seguinte irá aprender como utilizar o visualizador de classes e as suas ferramentas em conjunto com o seu código.

## 10.1.2. Navegar as Declarações e Implementações dos Objectos

A maior capacidade do Visualizador de Classes é disponibilizar uma boa forma de aceder rápidamente ao seu código independentemente da sua localização dentro dos ficheiros. Assim, selecções através de um clique do rato irão resultar nas seguintes acções:

- Num nome de classe: Vai para a declaração da classe

- Num método da classe: Vai para a implementação do método

- Num atributo da classe: Vai para a declaração do atributo na declaração da classe

- Numa estrutura: Vai para a declaração da estrutura

- Numa função global: Vai para a implementação da função

Agora, Isto permite-lhe o acesso mais necessário ao código dos objectos. Aparentemente, pode ser necessário modificar o cabeçalho de um método, resultando na necessidade de alterar a sua declaração na classe bem como a implementação. O visualizador de classes suporta isto disponibilizando menus de contexto acessíveis pelo botão direito do rato sobre os itens. Num método ou função, isto significa que pode seleccionar para onde quer ir:

- Ir para a definição: Vai para a implementação- este é o defeito para um clique do botão esquerdo como descrito acima

- Ir para a declaração: Vai para a declaração do método ou função.

Através deste comportamento, o Navegador de Classes oferece-lhe acesso a todo o lado que necessita ir para programar a sua aplicação em C++.

As seguintes secções dão-lhe uma descrição de outras ferramentas que o Navegador de Classes disponibiliza- irá acha-las muito úteis quando trabalhar com grandes projectos pois elas potenciam o trabalho orientado por objectos em programas C++.