建立您自己的類別
更新:2007 年 11 月
class 陳述式可以定義類別。依照預設,類別成員可以公開存取,換句話說,任何可以存取該類別的程式碼,也能存取該類別的成員。如需詳細資訊,請參閱 JScript 修飾詞。
含有欄位的類別
欄位可以定義物件使用的資料,類似於原型架構之物件的屬性 (Property)。下列範例中的簡單類別,有二個欄位。它使用 new 運算子,建立這個類別的執行個體:
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);
本程式的輸出為:
The answer is 42
The distance is 5.2
含有方法的類別
類別也能有方法,這些方法就是類別中的函式。方法可以定義功能來管理物件資料。您可以重新定義前面定義的 myClass 類別,讓它含有方法。
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);
本程式的輸出為:
Hello, the answer is 42
含有建構函式的類別
您可以為類別定義建構函式。建構函式是一種與類別同名的方法,當您以 new 運算子建立類別時,它就會執行。但是,您不能為建構函式指定傳回型別。這個範例為 myClass 類別加入一個建構函式。
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);
本程式的輸出為:
The distance is 8.5