sábado, 11 de setembro de 2010

Vetores[Aula 2 - 3] - Strings

Nesta aula irei abordar o tema mais do lado dessas linguagens novas orientadas a objeto como Java e C#, a aula abordará o básico de Strings e uma minicitação de OO, se você não é um novato, fuja do texto ou ajude a implementa-lo(Hã, implements, orientado a objeto, java, sacou?) =)
Já percebeu que ao declarar uma variável no C#/Java do tipo String você usa a palavra "String" com o 'S' maiúsculo, diferente de todos os outros tipos?
Isso acontece por que o tipo String é um objeto¹, diferente de int,float,char que são tipos PRIMITIVOS. Como String é uma classe ela deve seguir o padrão de nomeação e iniciar seu nome com letra maiúscula.
Ok, e qual a ligação com vetores?
Para responder isso vamos voltar um pouco e pensar em português/cotidiano. Existe um tipo primitivo de variável que nos acompanha a cada leitura, a letra(char), uma letra sozinha tem pouco ou nenhum sentido. Logo precisamos aglomerar-las em um certo lugar e ordena-las de uma forma que possam ser lidas e delas obtidas alguma informação. Essa sequencia se chama palavra(String) e se você reler a aula anterior perceberá que as palavras cabem exatamente na definição de vetores.

  1. São uma série de elementos do mesmo tipo.
  2. Sabemos que elas tem uma ordem:







    Posição 0Posição 1Posição 2Posição 3Posição 4
    Casa\0
Dessa forma podemos ver que, por exemplo na posição 3 desse vetor ou palavra temos a letra a.
Entender este conceito em Java pode ser um pouco complicado, por isso vamos migrar para o C. Em C, não existe objetos e muito menos Strings como são conhecidas em Java/C#.
Para criarmos uma "string" temos que criar um array de char e atribuir valores para cada posição.

Então é para não fazer todo esse trabalho que os criadores de Java decidiram criar um objeto chamado String? Isso e mais alguns outros detalhes, como métodos para trabalhar melhor com Strings, mas isso não será abordado aqui, se tiver interesse leia a documentação.
Ok e qual a vantagem de saber que os Strings "são" um array?Simples, já que strings(palavras) são vetores, podemos trata-los igual tratamos os vetores comuns, usando foreach(em Java/C#, não existe foreach em C) e várias outras coisas que podem ser muito úteis em seu código =).
O código abaixo é valido em C# tanto para palavra sendo um char[] ou uma String.


¹ - Classe é um contrato que a máquina virtual/compilador deve seguir para CRIAR um OBJETO. Por exemplo o objeto Carro é criado apartir de uma classe com o mesmo nome que diz que o Carro tem que ter acelerador,freio e marcha e que deve seguir alguns comandos.

0 comentários:

Postar um comentário