Mootools é um framework Javascript para realizar programas ou scripts com programação orientada a objetos. Provei uma série de utilidades para criar classes de uma maneira mais elaborada que se programássemos só com Javascript. Ao mesmo tempo, Mootools dispõe uma sintaxe particular para a realização de classes, que permite escrever código mais útil com menos linhas. Tudo isto temos que conhecer, já que quando programamos utilizando Mootools na verdade e por dizer de alguma maneira, estamos programando em sintaxe Mootools ao invés de sintaxe Javascript.
Por enquanto, para seguir estas explicações, há que conhecer pelo menos as bases da programação orientada a objetos. Para isso, recomendamos ler a pequena
introdução à programação orientada a objetos que publicamos em CriarWeb.com. Dentro do que é a programação orientada a objetos esse artigo só comenta uma pequena parte, porém ainda assim nos dará algumas idéias e esclarecimentos que ajudarão a entender este manual. O certo é que a programação orientada a objetos não é difícil, porém sim que pode ser delicado pelo menos no princípio.
Também, é claro que convém já ter seguido até esta ponto do nosso
manual de Mootools.
Classes em Mootools
Quando criamos uma classe em Mootools temos que fazer criando um novo objeto da classe Class. A classe Class, tem a arquitetura básica para criar classes de programação orientada a objetos em Mootools.
Uma classe se cria desta maneira:
var NomeClasse = new Class({
//conteúdo da classe (propriedades e métodos)
});
Qualquer pessoa com um pouco de experiência em programação orientada a objetos verá que se cria como se instanciássemos um objeto da classe Class. Com isso, fazemos uma nova classe a partir de Class. Dentro colocamos o conteúdo da classe, tanto suas propriedades como seus métodos. Há que observar também que o conteúdo da classe se escreve entre parênteses e entre chaves.
Definir propriedades das classes
Na hora de definir o conteúdo da classe, podemos especificar as propriedades que terá a classe que estamos definindo. Isto se faz entre as chaves, colocando uma vírgula de separação entre cada uma das propriedades. Ademais, devemos especificar diretamente o valor das propriedades, com esta sintaxe:
var MinhaClassePropriedades = new Class ({
propriedade1: 232,
propriedade2: "texto",
propriedade3: true,
propriedade4: null
});
Como se pode ver, se definiu uma nova classe com nome MinhaClassePropriedades e com 4 propriedades com distintos valores. Ainda assim, convém observar que as propriedades vão separadas por uma vírgula, menos a última que não devemos colocá-la por não ter nenhuma outra propriedade detrás.
Para que não dê erro de sintaxe, estamos obrigados a definir os valores das propriedades. Em último caso, se não desejamos atribuir nenhum valor à propriedade, sempre podemos colocar null, como nós fizemos na propriedade4.
Definir métodos de classes em Mootools
Os métodos o funcionalidades associadas às classes, se podem definir de maneira similar a como se definem propriedades. Ou seja, dentro das chaves que declaram os conteúdos da classe, com o nome do método seguido da função que vai conter o código do método. Utilizamos esta sintaxe para a definição de métodos:
var MinhaClasseMetodos = new Class ({
metodo1: function(){
alert ("estou executando o método");
},
metodo2: function(parametro){
alert ("estou recebendo um parâmetro = " + parâmetro);
}
});
No código anterior foi criado uma nova classe chamada MinhaClasseMetodos, que tem dois métodos: metodo1 e metodo2. Cada um dos dois métodos é uma função, cujo código se definiu também dentro da declaração da classe.
Por um lado, metodo1 é uma função que simplesmente mostra uma mensagem de alerta. Por outro lado, metodo2 é uma função que recebe um parâmetro e escreve uma mensagem de alerta que mostra o valor desse parâmetro.
Entre cada método, assim como ocorria entre cada propriedade, devemos colocar uma vírgula.