Criando suas próprias classes
The classe demonstrativo define classes.Por padrão, membros de classe são acessíveis publicamente, o que significa que qualquer código que pode acessar a classe também pode acessar o membro da classe.Para obter mais informações, consulte Modificadores de JScript.
Classes com campos
Campos definem os dados usados por um objeto e são semelhantes às propriedades em um objeto de protótipo.Eis um exemplo de uma classe simples que possui dois campos.Uma instância da classe é criada com o novo operador:
class myClass {
const answer : int = 42; // Constant field.
var distance : double; // Variable field.
}
var c : myClass = new myClass;
c.distance = 5.2;
print("The answer is " + c.answer);
print("The distance is " + c.distance);
A saída deste programa é:
The answer is 42
The distance is 5.2
Classes com métodos
Classes também podem conter os métodos que são funções contidas na classe.Os métodos definem a funcionalidade para manipular os dados de um objeto.A classe myClass definido acima podem ser redefinidos para incluir um método.
class myClass {
const answer : int = 42; // Constant field.
var distance : double; // Variable field.
function sayHello() :String { // Method.
return "Hello";
}
}
var c : myClass = new myClass;
c.distance = 5.2;
print(c.sayHello() + ", the answer is " + c.answer);
A saída deste programa é:
Hello, the answer is 42
Classes com construtores
Você pode definir um construtor para uma classe.Um construtor, que é um método com o mesmo nome de classe, é executado quando uma classe é criada com o novo operador.Não é possível especificar um tipo de retorno para um construtor.Neste exemplo, um construtor é adicionado à myClass classe.
class myClass {
const answer : int = 42; // Constant field.
var distance : double; // Variable field.
function sayHello() :String { // Method.
return "Hello";
}
// This is the constructor.
function myClass(distance : double) {
this.distance = distance;
}
}
var c : myClass = new myClass(8.5);
print("The distance is " + c.distance);
A saída deste programa é:
The distance is 8.5