← Funções | Classes e objetos | Classes → |
dentro dos idiomas atuais, que vêm principalmente das primeiras línguas estruturadas, como Algol ou BCPL, o Capacidade de criar funções para reutilizá-las de várias maneiras, dentro do mesmo módulo de programa ou em diferentes módulos, tem sido um dos fundamentos de programação de sistemas de computador. No entanto, este paradigma era curto para novas situações que estavam emergindo ao longo do tempo, como programação de videogame ou 3D e inteligência artificial. No final dos anos 70, começou a teorizar sobre os idiomas de programação que usam entidades independentes que eram independentes para realizar os aplicativos. Como dissemos anteriormente, um programa é composto de código e dados. Objetos são unidades que contêm seu próprio código e dados para sua própria auto-operação. Podemos dizer que eles são programas dentro de programas.
Assim, podemos perceber que os objetos podem ser usados como variáveis, para o nosso próprio uso. Mas não podemos definir variáveis de objeto sem poder dar uma forma. A forma de objetos são os dados (propriedades) e código (funções) que contêm o objeto. Isso é chamado de classe de objeto. Para definir as classes em JavaScript, fazemos isso por meio de funções, como:
function Persona(nombre) { this.nombre = nombre; this.color_pelo = 'negro'; this.peso = 75; this.altura = 165; this.sexo = 'varón'; this.edad= 26; }
Vamos parecer bons como esta função é estruturada. É chamado de construtor de classe e, nele, definimos os dados da classe, que poderemos usar ao criar objetos com ele. Observe o uso da palavra reservada. Esta palavra serve para identificar o objeto em si mesmo dentro da definição da classe. Quando escrevemos
this.peso = 75;
Estamos criando a propriedade “Peso” da classe “pessoa”. Quando criamos uma propriedade no construtor e lhe damos um valor, como neste caso, estamos atribuindo um valor padrão. Todos os objetos criados com este construtor conterão uma propriedade “peso” com esse valor inicial, embora possamos alterá-lo ao usar o objeto. Para definir um objeto dessa classe, só teríamos que fazer isso:
var hombre = new Persona('Pepe');
Aqui definimos o objeto “Man”, que conterá todo o Propriedades definidas na “pessoa” da classe funcional. Se quisermos mudar seu valor, apenas temos que fazer algo assim:
hombre.peso = 80;
Desta forma, os dados definidos para esta alteração do objeto. Mas se definirmos mais objetos do tipo pessoa, cada um deles conterá as mesmas propriedades, mas com valores diferentes. Nenhum objeto tem o mesmo valor que outro objeto da mesma classe, a menos que atribuímos explicitamente.
Neste caso, nós fizemos o mesmo, mas indicamos seu próprio peso, independente da variável “homem”. Assim, podemos ter tantos objetos da mesma classe que queremos realizar as operações pertinentes. Uma última coisa sobre os construtores: Como podemos ver, podemos passar parâmetros, que podemos converter nos valores das propriedades dos objetos dessa classe.