12.07.2015 Views

JCML - Java Card Modeling Language: Definição e ... - Ifrn

JCML - Java Card Modeling Language: Definição e ... - Ifrn

JCML - Java Card Modeling Language: Definição e ... - Ifrn

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

CAPÍTULO 2. SMART CARDS 29Classes e Objetos: Todas as classes da API <strong>Java</strong> <strong>Card</strong> descendem da classejava.lang.Object, exatamente igual à linguagem <strong>Java</strong>. Contudo nem todos os métodosestão disponíveis na API <strong>Java</strong> <strong>Card</strong>, como por exemplo o método toString() de Object. Aclasse Object existe para prover a mesma estrutura hieráquica definida em <strong>Java</strong>. Apenasas classes Object e Throwable são suportadas em <strong>Java</strong> <strong>Card</strong>.Tipos: Seria interessante se programas para smart card podessem ser escritos usandotoda a estrutura da linguagem <strong>Java</strong>, principalmente os tipos primitivos. A especificaçãoda máquina virtual <strong>Java</strong> <strong>Card</strong> implementa apenas um subconjunto dos tipos primitivosdefinidos em <strong>Java</strong>. Tipos como float, string, double e char não fazem parte da gramática<strong>Java</strong> <strong>Card</strong>.O tipo int não é totalmente suportado. Ele pode ser usado dependendo da versão damáquina virtual. O tipo inteiro é uma característica opcional. Apenas os subtipos deinteiro, byte e short são garantidos. Propriedades como referência nula (null) e o tipoboolean também são permitidos em <strong>Java</strong> <strong>Card</strong>.Criar objetos em <strong>Java</strong> <strong>Card</strong> também é possível, tanto referências simples quanto arrays.Arrays podem conter os tipos suportados por <strong>Java</strong> <strong>Card</strong> ou objetos.Criação Dinâmica de Objetos: A plataforma <strong>Java</strong> <strong>Card</strong> suporta criação dinâmica deobjetos, sejam instâncias de classe ou de arrays. Isso é feito usando o operador new.É normal programadores <strong>Java</strong> utilizarem e instanciarem vários tipos de objetos em umaaplicação. Ao se utilizar <strong>Java</strong> <strong>Card</strong>, o programador tem que se preocupar com a quantidadede objetos instanciados, devido ao pouco recurso de memória RAM do cartão. Ouso de membros (variável, construtor ou métodos) estáticos em <strong>Java</strong> <strong>Card</strong> resolve problemasde espaço de memória de cada objeto instanciado, contudo, utilizar apenas membrosestáticos não é uma boa prática de programação orientada a objetos.A máquina virtual <strong>Java</strong> <strong>Card</strong> utiliza, de forma opcional, o conceito de coleta de lixode <strong>Java</strong>, na qual objetos que perdem a referência são desalocados da memória automaticamente.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!