Modelo de objetos simplificado ============================== .. |mo1| image:: images/modelo_de_objetos_simplificado.png Aqui podemos ver um esquema com os componentes de uso mais comum desde scripting, a relação entre eles e como podemos acessar a eles a partir do nosso script. Além disso, podemos navegar até a navegação da classe Java clicando sobre o componente. .. note:: Desenvolvedores Java e usuários com conhecimentos sobre UML: O diagrama e comentários estão pensados para que seja o mais entendível possível para um usuário sem conhecimentos de java ou de UML, não para ser estrito à nomeclatura UML. .. raw:: html Como interpretar o diagrama ++++++++++++++++++++++++++++ No diagrama anterior podemos ver: - **Caixas em amarelo**, que representam os objetos que podemos encontrar e com os quais podemos trabalhar. - **Caixas em verde**, nos indicam ações que podemos realizar a partir de nosso script. Por exemplo, podemos ver: .. figure:: images/interpretar-funcion.png :align: center Deve ser interpretado como tendo disponível uma **função**, ``currentProject()``, que podemos executar desde nosso script para obter o objeto com o qual está relacionada, neste caso o **project**. Para os elementos etiquetados como **função** precisaremos ter importado o módulo ``gvsig``:: from gvsig import * - **Caixas em azul**, nos indica que se trata de uma entidade abstrata. Nunca encontraremos objetos deste tipo. Fazem referência de forma genérica a um grupo de objetos com características comuns; por exemplo, teremos um :javadoc:`Document ` que agrupa as características comuns de :javadoc:`ViewDocument `, :javadoc:`TableDocument ` ou :javadoc:`LayoutDocument `. No diagrama podemos encontrar, por exemplo: .. figure:: images/interpretar-herencia.png :align: center Aqui temos uma entidade :javadoc:`FFrame ` abstrata, nunca encontraremos objetos deste tipo, o que encontraremos serão objetos do tipo :javadoc:`FFrameView `, :javadoc:`FFramePicture ` ou :javadoc:`FFrameText `, e nos indica que todos os objetos concretos relacionados con :javadoc:`FFrame ` terão um conjunto de atributos e operações comuns. - **Associações entre objetos**, que nos indicam que a partir de um objeto podemos obter outro ou um conjunto de outros. Por exemplo: .. figure:: images/interpretar-asociacion.png :align: center Nos demonstra que se dispomos de um objeto :javadoc:`LayoutDocument `, podemos obter o objeto :javadoc:`LayoutContext ` invocando a operação ou método ``getLaypoutContext``:: laypoutContext = layoutDocument.getLaypoutContext()