30.06.2013 Views

Apostila Java

Apostila Java

Apostila Java

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

INTRODUÇÃO À ORIENTA ÇÃO A OBJET OS<br />

Imagine o exemplo de código acima necessário para manipular a informação de todos os alunos da FIC,<br />

cerca de oito mil alunos. Imagine a dificuldade de lidar com tantas variáveis ? Além disso, o número<br />

máximo de alunos suportados pelo sistema deveria ser previamente conhecido.<br />

Ainda usando programação estruturada, uma forma um pouco melhor de representação dos dados seria<br />

o uso de informações indexadas em arrays:<br />

String[] nome = new String[5000];<br />

int[] matricula = new int[5000];<br />

// Variáveis que armazenam as informações sobre o RG:<br />

nome[0] = "Fernando Henrique Gomes";<br />

matricula[0] = 903564756;<br />

nome[1] = "Ciro Cardoso";<br />

matricula [1] = 787564234;<br />

// Mesmo assim seriam necessárias variáveis de indexação (confusas):<br />

int fhg = 0;<br />

int cardoso = 1;<br />

// O uso de dados indexados era o paradigma vigente antes da popularização do<br />

// uso de Orientação a Objetos. Linguagens antigas, como Cobol, tem a indexação<br />

// como formato básico de acesso a dados na memória. Cobol usa inclusive o tamanho<br />

// dos dados como o separador dos valores gravados na memória.<br />

Outro problema, o principal, é a representação feita por tipos de dados, ou seja, o nome é uma variável<br />

do tipo String a o número de matrícula é uma variável do tipo inteiro. – não há nada no código que os<br />

vincule a uma carteira de estudante.<br />

Note que a nível conceitual, existe uma associação entre as variáveis 'nome' e 'numero',. Elas são parte<br />

do mesmo "objeto", nesse exemplo, uma carteira de estudante.<br />

No final dos anos setenta, com a popularização dos computadores pessoais e o aumento da presença da<br />

informática em nossa sociedade, pesquisadores começaram a notar a necessidade de representar os<br />

dados de forma mais fiel à forma como eles eram definidos em cada problema. Ou seja, uma carteira de<br />

estudante deveria ter um tipo de dado que representasse a sua estrutura, tal qual ela era conceituada no<br />

mundo real (e não um conjunto de variáveis alocadas na memória). Surgiu a Orientação a Objetos,<br />

paradigma que iremos estudar a partir de agora.<br />

Tipos agregados de dados<br />

A maioria das linguagens de programação suporta o conceito de variáveis tipadas, ou seja, uma variável<br />

pode ser do tipo int, double, char, etc. Embora essas linguagens possuam um bom número de tipos prédefinidos,<br />

seria mais interessante que o programador pudesse definir seus próprios tipos de dados,<br />

como, por exemplo, o tipo "carteira de estudante".<br />

Essa questão é resolvida através da implementação de Tipos Agregados de Dados (em algumas<br />

linguagens, também conhecidos como Tipos Estruturados de Dados ou Registros).<br />

39

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

Saved successfully!

Ooh no, something went wrong!